Applying Bayesian Data Analysis for Causal Inference about Requirements Quality: A Controlled Experiment
arXiv:2401.01154 · doi:10.1007/s10664-024-10582-1
Abstract
It is commonly accepted that the quality of requirements specifications impacts subsequent software engineering activities. However, we still lack empirical evidence to support organizations in deciding whether their requirements are good enough or impede subsequent activities. We aim to contribute empirical evidence to the effect that requirements quality defects have on a software engineering activity that depends on this requirement. We conduct a controlled experiment in which 25 participants from industry and university generate domain models from four natural language requirements containing different quality defects. We evaluate the resulting models using both frequentist and Bayesian data analysis. Contrary to our expectations, our results show that the use of passive voice only has a minor impact on the resulting domain models. The use of ambiguous pronouns, however, shows a strong effect on various properties of the resulting domain models. Most notably, ambiguous pronouns lead to incorrect associations in domain models. Despite being equally advised against by literature and frequentist methods, the Bayesian data analysis shows that the two investigated quality defects have vastly different impacts on software engineering activities and, hence, deserve different levels of attention. Our employed method can be further utilized by researchers to improve reliable, detailed empirical evidence on requirements quality.
References in corpus (18)
- MCMC using Hamiltonian dynamics
- Naming the Pain in Requirements Engineering: Contemporary Problems, Causes, and Effects in Practice
- Rapid quality assurance with Requirements Smells
- Status Quo in Requirements Engineering: A Theory and a Global Family of Surveys
- The Quamoco Product Quality Modelling and Assessment Approach
- An Activity-Based Quality Model for Maintainability
- Artefacts in Software Engineering: A Fundamental Positioning
- Applications of statistical causal inference in software engineering
- Artefact-based Requirements Engineering: The AMDiRE Approach
- Applying Bayesian Analysis Guidelines to Empirical Software Engineering Data: The Case of Programming Languages and Code Quality
- Not All Requirements Prioritization Criteria Are Equal at All Times: A Quantitative Analysis
- A Live Extensible Ontology of Quality Factors for Textual Requirements
- Do RESTful API Design Rules Have an Impact on the Understandability of Web APIs? A Web-Based Experiment with API Descriptions
- Requirements Quality Research: a harmonized Theory, Evaluation, and Roadmap
- Towards Causal Analysis of Empirical Software Engineering Data: The Impact of Programming Languages on Coding Competitions
- Applying Bayesian Data Analysis for Causal Inference about Requirements Quality: A Controlled Experiment
- Bayesian Hierarchical Modelling for Tailoring Metric Thresholds
- A Second Look at the Impact of Passive Voice Requirements on Domain Modeling: Bayesian Reanalysis of an Experiment