Successful software evolves, more and more commonly, from a single system to a set of system variants tailored to meet the similiar and yet dierent functionality required by the distinct clients and users. Software Product Line Engineering (SPLE) is a software development paradigm that has proven eective for coping with this scenario. At the core of SPLE is variability modeling which employs Feature Models (FMs) as the de facto standard to represent the combinations of features that distinguish the systems variants. Reverse engineering FMs consist in constructing a feature model from a set of products descriptions. This research area is becoming increasingly active within the SPLE community, where the problem has been addressed with dierent perspectives and approaches ranging from analysis of conguration scripts, use of propositional logic or natural language techniques, to ad hoc algorithms. In this paper, we explore the feasibility of using Evolutionary Algorithms (EAs) to synthesize FMs from the feature sets that describe the system variants. We analyzed 59 representative case studies of dierent characteristics and complexity. Our exploratory study found that FMs that denote proper supersets of the desired feature sets can be obtained with a small number of generations. However, reducing the dierences between these two sets with an eective and scalable tness function remains an open question. We believe that this work is a rst step towards leveraging the extensive wealth of Search-Based Software Engineering techniques to address this and other variability management challenges.
al use in REF a genetic algorithm to reverse engineer feature models from a set of feature sets.
Reverse engineering feature models with evolutionary algorithms: an exploratory study
SSBSE
Computer Science