On Extracting Feature Models from Sets of Valid Feature Combinations

  • Evelyn Nicole Haslinger
  • Roberto Erick Lopez-Herrejon
  • Alexander Egyed
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7793)


Rather than developing individual systems, Software Product Line Engineering develops families of systems. The members of the software family are distinguished by the features they implement and Feature Models (FMs) are the de facto standard for defining which feature combinations are considered valid members. This paper presents an algorithm to automatically extract a feature model from a set of valid feature combinations, an essential development step when companies, for instance, decide to convert their existing product variations portfolio into a Software Product Line. We performed an evaluation on 168 publicly available feature models, with 9 to 38 features and up to 147456 feature combinations. From the generated feature combinations of each of these examples, we reverse engineered an equivalent feature model with a median performance in the low milliseconds.


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


  1. 1.
    Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw., Pract. Exper. 35(8), 705–754 (2005)CrossRefGoogle Scholar
  2. 2.
    Pohl, K., Bockle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer (2005)Google Scholar
  3. 3.
    Zave, P.: Faq sheet on feature interaction,
  4. 4.
    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
  5. 5.
    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
  6. 6.
    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
  7. 7.
    Batory, D.: Feature Models, Grammars, and Propositional Formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Software Product Line Online Tools, SPLOT (2010),
  9. 9.
    Haslinger, E.N.: Reverse engineering feature models from program configurations. Master’s thesis, Johannes Kepler University (2012),
  10. 10.
    FAMA Tool Suite (2012),
  11. 11.
    Thüm, T., Batory, D.S., Kästner, C.: Reasoning about edits to feature models. In: ICSE, pp. 254–264. IEEE (2009)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.
    Acher, M., Cleve, A., Perrouin, G., Heymans, P., Vanbeneden, C., Collet, P., Lahire, P.: On extracting feature models from product descriptions. In: Eisenecker, U.W., Apel, S., Gnesi, S. (eds.) VaMoS, pp. 45–54. ACM (2012)Google Scholar
  14. 14.
    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
  15. 15.
    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
  16. 16.
    Andersen, N., Czarnecki, K., She, S., Wasowski, A.: Efficient synthesis of feature models. In: de Almeida, E.S., Schwanninger, C., Benavides, D. (eds.) SPLC, vol. (1), pp. 106–115. ACM (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Evelyn Nicole Haslinger
    • 1
  • Roberto Erick Lopez-Herrejon
    • 1
  • Alexander Egyed
    • 1
  1. 1.Systems Engineering and AutomationJohannes Kepler UniversityLinzAustria

Personalised recommendations