Skip to main content

Reverse Engineering Feature Models with Evolutionary Algorithms: An Exploratory Study

  • Conference paper
Search Based Software Engineering (SSBSE 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7515))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. FAMA Tool Suite (2012), http://www.isa.us.es/fama/

  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)

    Chapter  Google Scholar 

  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–54

    Google Scholar 

  4. Bagheri, E., Gasevic, D.: Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal (2010)

    Google Scholar 

  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)

    Article  Google Scholar 

  6. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley (2000)

    Google Scholar 

  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. Eiben, A., Smith, J.: Introduction to Evolutionary Computing. Springer (2003)

    Google Scholar 

  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. Generative Software Development Lab. Computer Systems Group, University of Waterloo, C.: Software Product Line Online Tools(SPLOT) (2012), http://www.splot-research.org/

  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. 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. 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)

    Chapter  Google Scholar 

  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. 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), http://www.ssbse.org/2011/fastabstracts/lopex-herrejon.pdf

  16. Lopez-Herrejon, R.E., Egyed, A.: Towards fixing inconsistencies in models with variability. In: Eisenecker et al. [9], pp. 93–100

    Google Scholar 

  17. Pohl, K., Bockle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer (2005)

    Google Scholar 

  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. 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–71

    Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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. 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. Zave, P.: Faq sheet on feature interaction, http://www.research.att.com/~pamela/faq.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lopez-Herrejon, R.E., Galindo, J.A., Benavides, D., Segura, S., Egyed, A. (2012). Reverse Engineering Feature Models with Evolutionary Algorithms: An Exploratory Study. In: Fraser, G., Teixeira de Souza, J. (eds) Search Based Software Engineering. SSBSE 2012. Lecture Notes in Computer Science, vol 7515. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33119-0_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33119-0_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33118-3

  • Online ISBN: 978-3-642-33119-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics