How Do Practitioners Interpret Conditionals in Requirements?
Jannik Fischbach, Julian Frattini, Daniel Mendez, Michael, Unterkalmsteiner, Henning Femmer, Andreas Vogelsang

TL;DR
This study investigates how practitioners interpret conditional statements in software requirements, revealing ambiguity and disagreement that can impact downstream activities like testing and analysis.
Contribution
It provides empirical insights into the varied interpretations of conditionals in requirements among practitioners, highlighting the need for clearer guidelines.
Findings
Practitioners often disagree on whether antecedents are sufficient or necessary.
Ambiguity persists even when system behavior is known.
Cue phrases influence interpretation of conditionals.
Abstract
Context: Conditional statements like "If A and B then C" are core elements for describing software requirements. However, there are many ways to express such conditionals in natural language and also many ways how they can be interpreted. We hypothesize that conditional statements in requirements are a source of ambiguity, potentially affecting downstream activities such as test case generation negatively. Objective: Our goal is to understand how specific conditionals are interpreted by readers who work with requirements. Method: We conduct a descriptive survey with 104 RE practitioners and ask how they interpret 12 different conditional clauses. We map their interpretations to logical formulas written in Propositional (Temporal) Logic and discuss the implications. Results: The conditionals in our tested requirements were interpreted ambiguously. We found that practitioners disagree on…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Advanced Software Engineering Methodologies
