Detecting Terminological Ambiguity in User Stories: Tool and Experimentation

Fabiano Dalpiaz, Ivor van der Schalk, Sjaak Brinkkemper, Fatma Basak Aydemir, Garm Lucassen

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

Context. Defects such as ambiguity and incompleteness are pervasive in software requirements, often due to the limited time that practitioners devote to writing good requirements. Objective.We study whether a synergy between humans’ analytic capabilities and natural language processing is an effective approach for quickly identifying near-synonyms, a possible source of terminological ambiguity. Method.We propose a tool-supported approach that blends information visualization with two natural language processing techniques: conceptual model extraction and semantic similarity. We evaluate the precision and recall of our approach compared to a pen-and-paper manual inspection session through a controlled quasi-experiment that involves 57 participants organized into 28 groups, each group working on one real-world requirements data set. Results.The experimental results indicate that manual inspection delivers higher recall (statistically significant with p ≤ 0.01) and non-significantly higher precision. Based on qualitative observations, we analyze the quantitative results and suggest interpretations that explain the advantages and disadvantages of each approach. Conclusions.Our experiment confirms conventional wisdom in requirements engineering: identifying terminological ambiguities is time consuming, even when with tool support; and it is hard to determine whether a near-synonym may challenge the correct development of a software system. The results suggest that the most effective approach may be a combination of manual inspection with an improved version of our tool.
Original languageEnglish
Pages (from-to)3-16
JournalInformation and Software Technology
Volume110
DOIs
Publication statusPublished - 2019

Keywords

  • natural language processing
  • requirements engineering
  • Empirical Software Engineering
  • ambiguity
  • user stories

Fingerprint

Dive into the research topics of 'Detecting Terminological Ambiguity in User Stories: Tool and Experimentation'. Together they form a unique fingerprint.

Cite this