On the Diversity of Capturing Variability at the Implementation Level
Xhevahire Tërnava, Philippe Collet · 2017
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.