2017 · 12 citations · 13 references
ComputingComputer ScienceFeature EngineeringSoftware EngineeringSystems ArchitectureReverse EngineeringSoftware ArchitectureSoftware DesignSoftware EvolutionSoftware ModelingVariation AnalysisFeature ModelsSoftware Product Line ArchitectureSoftware Product Line ModelingSoftware Product LinesVariability Modeling
In many Software product lines (SPLs), if domain variability can be properly specified in terms of features in a feature model (FM), their implementation in core-code assets is hard to capture and maintain, as there are different techniques to implement the variability. Even with an organization in variation points and variants, most of these techniques do not shape the code in terms of features, and inconsistencies appear when the variability evolves at one level with no co-evolution at the other. To help SPL architects, one possible solution is to be able to reconstruct the FM by capturing the variability in core-code assets, but different implementation techniques expose diverse characteristics, hampering the process. We study in this paper the diverse dimensions of the existing variability implementation techniques, and how they can be captured in an abstract way. We then categorize them regarding these dimensions in a single catalog, extending previous classifications of such techniques. We also briefly show how the characteristics of the techniques could help to better capture the implemented variability, opening some potential in reverse engineering processes.
13
A conceptual basis for feature engineering
Carlton Reid Turner, Alfonso Fuggetta, Luigi Lavazza et al. · Journal of Systems and Software · 1999 · 281 citations
Implementing product line variabilities
C Gacek, Michalis Anastasopoules · 2001 · 272 citations · Full text
Feature diagrams and logics: There and back again
2007 · 265 citations