Evolving software system families in space and time with feature revisions
Open Access
- 30 May 2022
- journal article
- research article
- Published by Springer Nature in Empirical Software Engineering
- Vol. 27 (5) , 1-54
Abstract
Software companies commonly develop and maintain variants of systems, with different feature combinations for different customers. Thus, they must cope with variability in space. Software companies further must cope with variability in time, when updating system variants by revising existing software features. Inevitably, variants evolve orthogonally along these two dimensions, resulting in challenges for software maintenance. Our work addresses this challenge with ECSEST (Extraction and Composition for Systems Evolving in Space and Time), an approach for locating feature revisions and composing variants with different feature revisions. We evaluated ECSEST using feature revisions and variants from six highly configurable open source systems. To assess the correctness of our approach, we compared the artifacts of input variants with the artifacts from the corresponding composed variants based on the implementation of the extracted features. The extracted traces allowed composing variants with 99-100% precision, as well as with 97-99% average recall. Regarding the composition of variants with new configurations, our approach can combine different feature revisions with 99% precision and recall on average. Additionally, our approach retrieves hints when composing new configurations, which are useful to find artifacts that may have to be added or removed for completing a product. The hints help to understand possible feature interactions or dependencies. The average time to locate feature revisions ranged from 25 to 250 seconds, whereas the average time for composing a variant was 18 seconds. Therefore, our experiments demonstrate that ECSEST is feasible and effective.Keywords
Funding Information
- Johannes Kepler University Linz
This publication has 64 references indexed in Scilit:
- The ECCO Tool: Extraction and Composition for Clone-and-Own2015
- Using Traceability for Incremental Construction and Evolution of Software Product Portfolios2015
- The impact of tangled code changes on defect prediction modelsEmpirical Software Engineering, 2015
- Kalign-LCS — A More Accurate and Faster Variant of Kalign2 Algorithm for the Multiple Sequence Alignment Problem2014
- A Survey of Feature Location Techniques2013
- Feature location in source code: a taxonomy and surveyJournal of Software: Evolution and Process, 2011
- Precision and Recall2011
- Feature-to-Code Mapping in Two Large Product Lines2010
- Version models for software configuration managementACM Computing Surveys, 1998
- The state of the art in concurrent, distributed configuration management1995