Reverse Engineering Feature Models with Evolutionary Algorithms: An Exploratory Study

  • Roberto Erick Lopez-Herrejon
  • José A. Galindo
  • David Benavides
  • Sergio Segura
  • Alexander Egyed
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7515)


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.


Evolutionary Algorithm Feature Model Reverse Engineering Software Product Line Engineer Successful Software 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    FAMA Tool Suite (2012),
  2. 2.
    Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., Lahire, P.: Reverse Engineering Architectural Feature Models. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 220–235. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  3. 3.
    Acher, M., Cleve, A., Perrouin, G., Heymans, P., Vanbeneden, C., Collet, P., Lahire, P.: On extracting feature models from product descriptions. In: Eisenecker et al. [9], pp. 45–54Google Scholar
  4. 4.
    Bagheri, E., Gasevic, D.: Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal (2010)Google Scholar
  5. 5.
    Benavides, D., Segura, S., Cortés, A.R.: Automated analysis of feature models 20 years later: A literature review. Inf. Syst. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  6. 6.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley (2000)Google Scholar
  7. 7.
    Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: SPLC, pp. 23–34. IEEE Computer Society (2007)Google Scholar
  8. 8.
    Eiben, A., Smith, J.: Introduction to Evolutionary Computing. Springer (2003)Google Scholar
  9. 9.
    Eisenecker, U.W., Apel, S., Gnesi, S. (eds.): Proceedings of Sixth International Workshop on Variability Modelling of Software-Intensive Systems, Leipzig, Germany, January 25-27. ACM (2012)Google Scholar
  10. 10.
    Generative Software Development Lab. Computer Systems Group, University of Waterloo, C.: Software Product Line Online Tools(SPLOT) (2012),
  11. 11.
    Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: Reverse engineering feature models from programs’ feature sets. In: Pinzger, M., Poshyvanyk, D., Buckley, J. (eds.) WCRE, pp. 308–312. IEEE Computer Society (2011)Google Scholar
  12. 12.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (1990)Google Scholar
  13. 13.
    Krueger, C.W.: Easing the Transition to Software Mass Customization. In: van der Linden, F.J. (ed.) PFE 2002. LNCS, vol. 2290, pp. 282–293. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    van der Linden, F.J., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer (2007)Google Scholar
  15. 15.
    Lopez-Herrejon, R.E., Egyed, A.: Fast abstract. Searching the variability space to fix model inconsistencies: A preliminary assessment. In: Third International Symposium Search Based Software Engineering SSBSE 2011 (2011),
  16. 16.
    Lopez-Herrejon, R.E., Egyed, A.: Towards fixing inconsistencies in models with variability. In: Eisenecker et al. [9], pp. 93–100Google Scholar
  17. 17.
    Pohl, K., Bockle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer (2005)Google Scholar
  18. 18.
    Segura, S., Parejo, J., Hierons, R., Benavides, D., Ruiz-Cortés, A.: Automated generation of hard feature models using evolutionary algorithms. Journal Submission (under review, 2012)Google Scholar
  19. 19.
    Segura, S., Galindo, J., Benavides, D., Parejo, J.A., Cortés, A.R.: BeTTy: benchmarking and testing on the automated analysis of feature models. In: Eisenecker et al.[9], pp. 63–71Google Scholar
  20. 20.
    Segura, S., Hierons, R.M., Benavides, D., Cortés, A.R.: Automated metamorphic testing on the analyses of feature models. Information & Software Technology 53(3), 245–258 (2011)CrossRefGoogle Scholar
  21. 21.
    Segura, S., Parejo, J.A., Hierons, R.M., Benavides, D., Ruiz-Cortés, A.: ETHOM: An Evolutionary Algorithm for Optimized Feature Models Generation. Tech. Rep. ISA-2012-TR-01, Applied Software Engineering Research Group. Department of Computing Languages and Systems. University of Sevilla, ETSII. Avda. de la Reina Mercedes s/n (February 2012)Google Scholar
  22. 22.
    She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: Taylor, R.N., Gall, H., Medvidovic, N. (eds.) ICSE, pp. 461–470. ACM (2011)Google Scholar
  23. 23.
    Thüm, T., Batory, D.S., Kästner, C.: Reasoning about edits to feature models. In: ICSE, pp. 254–264. IEEE (2009)Google Scholar
  24. 24.
    Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: Muthig, D., McGregor, J.D. (eds.) SPLC. ACM International Conference Proceeding Series, vol. 446, pp. 211–220. ACM (2009)Google Scholar
  25. 25.
    Zave, P.: Faq sheet on feature interaction,

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Roberto Erick Lopez-Herrejon
    • 1
  • José A. Galindo
    • 2
  • David Benavides
    • 2
  • Sergio Segura
    • 2
  • Alexander Egyed
    • 1
  1. 1.Institute for Systems Engineering and AutomationJohannes Kepler UniversityLinzAustria
  2. 2.Department of Computer Languages and SystemsUniversity of SevilleSpain

Personalised recommendations