An Assessment of Search-Based Techniques for Reverse Engineering Feature Models

  • Alexander Egyed
  • , Roberto Erick Lopez-Herrejon
  • , Lukas Linsbauer
  • , Jose Galindo
  • , Josè Antonio Parejo
  • , David Benavides
  • , Sergio Segura

Research output: Contribution to journalArticlepeer-review

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.
Original languageEnglish
Pages (from-to)353-369
Number of pages17
JournalJournal of Systems and Software
Volume103
DOIs
Publication statusPublished - May 2015

Fields of science

  • 102 Computer Sciences
  • 102022 Software development

JKU Focus areas

  • Computation in Informatics and Mathematics
  • Engineering and Natural Sciences (in general)

Cite this