by Roberto E. Lopez-Herrejon, Lukas Linsbauer, José A. Galindo, José Antonio Parejo, David Benavides, Sergio Segura, Alexander Egyed
Abstract:
Successful software evolves from a single system by adding and changing functionality to keep up with users demands and to cater to their similar and different requirements. Nowadays it is a common practice to offer a system in many variants such as community, professional, or academic editions. Each variant provides different functionality described in terms of features. Software Product Line Engineering (SPLE) is an effective software development paradigm for this scenario. At the core of SPLE is variability modelling whose goal is to represent the combinations of features that distinguish the system variants using feature models, the de facto standard for such task. As SPLE practices are becoming more pervasive, reverse engineering feature models from the feature descriptions of each individual variant has become an active research subject. In this paper we evaluated, for this reverse engineering task, three standard search based techniques (evolutionary algorithms, hill climbing, and random search) with two objective functions on 74 SPLs. We compared their performance using precision and recall, and found a clear trade-off between these two metrics which we further reified into a third objective function based on Fβ, an information retrieval measure, that showed a clear performance improvement. We believe that this work sheds light on the great potential of search-based techniques for SPLE tasks.
Reference:
An Assessment of Search-Based Techniques for Reverse Engineering Feature Models (Roberto E. Lopez-Herrejon, Lukas Linsbauer, José A. Galindo, José Antonio Parejo, David Benavides, Sergio Segura, Alexander Egyed), In Journal of Systems and Software, volume 103, 2015.
Bibtex Entry:
@Article{DBLP:journals/jss/Lopez-HerrejonL15,
author = {Roberto E. Lopez-Herrejon and Lukas Linsbauer and José A. Galindo and José Antonio Parejo and David Benavides and Sergio Segura and Alexander Egyed},
title = {An Assessment of Search-Based Techniques for Reverse Engineering Feature Models},
journal = {Journal of Systems and Software},
year = {2015},
volume = {103},
pages = {353--369},
abstract = {Successful software evolves from a single system by adding and changing
functionality to keep up with users demands and to cater to their
similar and different requirements. Nowadays it is a common practice
to offer a system in many variants such as community, professional,
or academic editions. Each variant provides different functionality
described in terms of features. Software Product Line Engineering
(SPLE) is an effective software development paradigm for this scenario.
At the core of SPLE is variability modelling whose goal is to represent
the combinations of features that distinguish the system variants
using feature models, the de facto standard for such task. As SPLE
practices are becoming more pervasive, reverse engineering feature
models from the feature descriptions of each individual variant has
become an active research subject. In this paper we evaluated, for
this reverse engineering task, three standard search based techniques
(evolutionary algorithms, hill climbing, and random search) with
two objective functions on 74 SPLs. We compared their performance
using precision and recall, and found a clear trade-off between these
two metrics which we further reified into a third objective function
based on Fβ, an information retrieval measure, that showed a clear
performance improvement. We believe that this work sheds light on
the great potential of search-based techniques for SPLE tasks.},
bibsource = {dblp computer science bibliography, http://dblp.org},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/jss/Lopez-HerrejonL15},
doi = {10.1016/j.jss.2014.10.037},
file = {:Journals\\JSS 2015 - An Assessment of Search-Based Techniques for Reverse Engineering Feature Models\\An assessment of search-based techniques for reverse engineering feature models-preprint.pdf:PDF},
keywords = {FWF P25289, FWF M1421},
owner = {AK117794},
timestamp = {Mon, 27 Apr 2015 09:11:46 +0200},
url = {http://dx.doi.org/10.1016/j.jss.2014.10.037},
}