PhD Preliminary Oral Exam: Chin Khor
Requirements-driven Analysis of Variability in Configurable Software
Context
It is difficult, time-consuming, and error-prone to detect misalignments between the variability requirements in configurable software and the source code intended to implement those requirements.
Objective
The paper reports progress in checking the consistency between variability requirements and their implementation.
Method
To automate the consistency checking of variability requirements and variability source code, we create a variability model of configurable features and constraints from the requirements specification. We evaluate the consistency of the variability model against a formal representation of the presence conditions controlling variability in the source code. We generate a traceability-rich consistency report for the developer of any misalignments and a minimum set of configurations providing full variability code coverage for variability testing. The approach is implemented in an open-source prototype tool called VarCHEK.
Results
VarCHEK was evaluated on four diverse, configurable software projects. VarCHEK accurately identified variability requirements not implemented in the source code, found variabilities in the source code not specified in the requirements, and provided more relevant information to the user for troubleshooting and resolving inconsistencies than is currently available.
Conclusion
This paper describes a new, practical way to automatically identify inconsistencies between the variability requirements specified for configurable software and the source code developed to implement those requirements.
Committee: Robyn Lutz (major professor), Samik Basu, Myra Cohen, Wei Le, and Mengdi Huai