Enhancing the requirements engineering of configurable systems by the ongoing use of variability models

Chin Khor,Robyn R. Lutz
DOI: https://doi.org/10.1007/s00766-024-00421-6
2024-06-19
Requirements Engineering
Abstract:Software systems and product lines often use configurable features to specify a portfolio of product variants from a common core. Typically, their requirements also include constraints on which combinations of features are valid. Especially for larger systems and systems where the specifications are scattered among documents, the analysis of a new product's variability-related requirements is challenging. To address this, we introduce a scalable, tool-supported framework that uses a variability model to automate checks for missing and inconsistent features and constraints. Our approach also extends and scales traditional variability requirements engineering by incorporating combinatorial interaction testing techniques to build valid product variants covering all configurations in the variability model and to automatically discover faulty feature settings in failed builds. Results from evaluation on two configurable systems show that our framework is effective both at early detection of missing, incorrect, and inconsistent variability requirements and at later finding faulty feature configurations.
computer science, information systems, software engineering
What problem does this paper attempt to address?