by Roberto E. Lopez-Herrejon, José A. Galindo, David Benavides, Sergio Segura, Alexander Egyed
Abstract:
Successful software evolves, more and more commonly, from a single system to a set of system variants tailored to meet the similiar and yet different functionality required by the distinct clients and users. Software Product Line Engineering (SPLE) is a software development paradigm that has proven effective 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 different perspectives and approaches ranging from analysis of configuration 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 different 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 differences between these two sets with an effective and scalable fitness function remains an open question.We believe that this work is a first step towards leveraging the extensive wealth of Search-Based Software Engineering techniques to address this and other variability management challenges.
Reference:
Reverse Engineering Feature Models with Evolutionary Algorithms: An Exploratory Study. (Roberto E. Lopez-Herrejon, José A. Galindo, David Benavides, Sergio Segura, Alexander Egyed), In Proceedings of the 4th International Symposium on Search-Based Software Engineering (SSBSE 2012), Riva del Garda, Italy (Gordon Fraser, Jerffeson Teixeira de Souza, eds.), Springer, volume 7515, 2012.
Bibtex Entry:
@Conference{DBLP:conf/ssbse/Lopez-HerrejonGBSE12,
author = {Roberto E. Lopez-Herrejon and José A. Galindo and David Benavides and Sergio Segura and Alexander Egyed},
title = {Reverse Engineering Feature Models with Evolutionary Algorithms: An Exploratory Study.},
booktitle = {Proceedings of the 4th International Symposium on Search-Based Software Engineering (SSBSE 2012), Riva del Garda, Italy},
year = {2012},
editor = {Gordon Fraser and Jerffeson Teixeira de Souza},
volume = {7515},
series = {Lecture Notes in Computer Science},
pages = {168-182},
publisher = {Springer},
abstract = {Successful software evolves, more and more commonly, from a single
system to a set of system variants tailored to meet the similiar
and yet different functionality required by the distinct clients
and users. Software Product Line Engineering (SPLE) is a software
development paradigm that has proven effective 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
different perspectives and approaches ranging from analysis of configuration
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 different 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 differences between these two sets with an
effective and scalable fitness function remains an open question.We
believe that this work is a first step towards leveraging the extensive
wealth of Search-Based Software Engineering techniques to address
this and other variability management challenges.},
doi = {10.1007/978-3-642-33119-0_13},
file = {:Conferences\\SSBSE 2012 - Reverse Engineering Feature Models With Evolutionary Algorithms\\Reverse Engineering Feature Models with Evolutionary Algorithms - An Exploratory Study-preprint.pdf:PDF},
keywords = {FWF P21321, FWF M1421, EU IEF 254965},
}