Feature Model Synthesis with Genetic Programming

  • Lukas Linsbauer
  • Roberto Erick Lopez-Herrejon
  • Alexander Egyed
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8636)


Search-Based Software Engineering (SBSE) has proven successful on several stages of the software development life cycle. It has also been applied to different challenges in the context of Software Product Lines (SPLs) like generating minimal test suites. When reverse engineering SPLs from legacy software an important challenge is the reverse engineering of variability, often expressed in the form of Feature Models (FMs). The synthesis of FMs has been studied with techniques such as Genetic Algorithms. In this paper we explore the use of Genetic Programming for this task. We sketch our general workflow, the GP pipeline employed, and its evolutionary operators. We report our experience in synthesizing feature models from sets of feature combinations for 17 representative feature models, and analyze the results using standard information retrieval metrics.


Feature Feature Models Feature Set Reverse Engineering Software Product Lines Variability Modeling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: Trends, techniques and applications. ACM Comput. Surv. 45(1), 11 (2012)CrossRefGoogle Scholar
  2. 2.
    Harman, M., McMinn, P., de Souza, J.T., Yoo, S.: Search based software engineering: Techniques, taxonomy, tutorial. In: Meyer, B., Nordio, M. (eds.) Empirical Software Engineering and Verification. LNCS, vol. 7007, pp. 1–59. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  3. 3.
    de Freitas, F.G., de Souza, J.T.: Ten years of search based software engineering: A bibliometric analysis. In: Cohen, M.B., Ó Cinnéide, M. (eds.) SSBSE 2011. LNCS, vol. 6956, pp. 18–32. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Poli, R., Langdon, W.B., McPhee, N.F.: A Field Guide to Genetic Programming. Lulu (2008)Google Scholar
  5. 5.
    Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  6. 6.
    Lopez-Herrejon, R.E., Egyed, A.: Sbse4vm: Search based software engineering for variability management. In: Cleve, A., Ricca, F., Cerioli, M. (eds.) CSMR, pp. 441–444. IEEE Computer Society (2013)Google Scholar
  7. 7.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (1990)Google Scholar
  8. 8.
    Laguna, M.A., Crespo, Y.: A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring. Sci. Comput. Program. 78(8), 1010–1034 (2013)CrossRefGoogle Scholar
  9. 9.
    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
  10. 10.
    She, S., Ryssel, U., Andersen, N., Wsowski, A., Czarnecki, K.: Efficient synthesis of feature models. Information and Software Technology (in press, 2014)Google Scholar
  11. 11.
    Harman, M., Langdon, W.B., Weimer, W.: Genetic programming for reverse engineering. In: Lämmel, R., Oliveto, R., Robbes, R. (eds.) WCRE, pp. 1–10. IEEE (2013)Google Scholar
  12. 12.
    Lopez-Herrejon, R.E., Galindo, J.A., Benavides, D., Segura, S., Egyed, A.: Reverse engineering feature models with evolutionary algorithms: An exploratory study. In: Fraser, G., Teixeira de Souza, J. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 168–182. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  13. 13.
    Lopez-Herrejon, R.E., Batory, D.: A standard problem for evaluating product-line methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    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
  15. 15.
    Stahl, T., Völter, M., Bettin, J., Haase, A., Helsen, S.: Model-driven software development - technology, engineering, management. Pitman (2006)Google Scholar
  16. 16.
    Manning, C.D., Raghavan, P., Schütze, H.: Introduction to information retrieval. Cambridge University Press (2008)Google Scholar
  17. 17.
    Benavides, D., Segura, S., Trinidad, P., Cortés, A.R.: Fama: Tooling a framework for the automated analysis of feature models. In: Pohl, K., Heymans, P., Kang, K.C., Metzger, A., eds.: VaMoS. Volume 2007-01 of Lero Technical Report, 129–134 (2007)Google Scholar
  18. 18.
    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, U.W., Apel, S., Gnesi, S. (eds.) VaMoS, pp. 63–71. ACM (2012)Google Scholar
  19. 19.
    Luke, S.: Essentials of Metaheuristics. Lulu (2009) Available for free at
  20. 20.
    Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing, Verification & Reliability (2012)Google Scholar
  21. 21.
    Vargha, A., Delaney, H.D.: A critique and improvement of the “cl” common language effect size statistics of mcgraw and wong. Journal of Educational and Behavioral Statistics 25(2), 101–132 (2000)Google Scholar
  22. 22.
    de Oliveira Barros, M., Neto, A.C.D.: Threats to Validity in Search-based Software Engineering Empirical Studies. Technical Report 0006/2011, Universidade Federal Do Estado Do Rio de Janeiro. Departamento de Informatica Aplicada (2011)Google Scholar
  23. 23.
    Faunes, M., Cadavid, J.J., Baudry, B., Sahraoui, H.A., Combemale, B.: Automatically searching for metamodel well-formedness rules in examples and counter-examples. In: [27], pp. 187–202Google Scholar
  24. 24.
    Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: On extracting feature models from sets of valid feature combinations. In: Cortellessa, V., Varró, D. (eds.) FASE 2013 (ETAPS 2013). LNCS, vol. 7793, pp. 53–67. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  25. 25.
    Acher, M., Baudry, B., Heymans, P., Cleve, A., Hainaut, J.L.: Support for reverse engineering and maintaining feature models. In: Gnesi, S., Collet, P., Schmid, K. (eds.) VaMoS, pp. 20:1–20:8. ACM (2013)Google Scholar
  26. 26.
    Acher, M., Combemale, B., Collet, P., Barais, O., Lahire, P., France, R.B.: Composing your compositions of variability models. In: [27], pp. 352–369Google Scholar
  27. 27.
    Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.): MODELS 2013. LNCS, vol. 8107. Springer, Heidelberg (2013)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Lukas Linsbauer
    • 1
  • Roberto Erick Lopez-Herrejon
    • 1
  • Alexander Egyed
    • 1
  1. 1.Software Systems EngineeringJohannes Kepler UniversityLinzAustria

Personalised recommendations