Skip to main content

Search-Based Variability Model Synthesis from Variant Configurations

  • Chapter
  • First Online:
Handbook of Re-Engineering Software Intensive Systems into Software Product Lines

Abstract

The parallel maintenance of independent system variants, developed to supply a wide range of customer-specific demands, is a complex activity. To alleviate this problem and ease the creation of new products, the consolidation of such variants into a Software Product Line (SPL) is an effective solution. For this, a fundamental step is to construct a variability model that represents the combinations of features of all the existing variants. However, the process of extracting an SPL from independent variants, and consequently constructing a variability model, is acknowledged as costly and error-prone. Instead of starting from scratch, many approaches have been proposed for reverse engineering variability models, but they have two limitations. These approaches usually optimize a single objective that does not allow software engineers to consider design trade-offs and do not exploit knowledge from implementation artifacts. This chapter presents our approach to address these limitations. Our approach applies a multi-objective optimization strategy and uses source code dependencies to reverse engineer variability models. The resulting model not only represents the desired feature combinations but are also well-formed regarding source code dependencies, i.e., variability safe. The approach, using two multi-objective evolutionary algorithms, namely NSGA-II and SPEA2, and a single-objective algorithm was evaluated with twelve subject systems. For comparisons, we rely on widely adopted performance indicators. The results indicate that the performance of the multi-objective algorithms is similar in most cases, and that both clearly outperform the single-objective algorithm. Also, the trade-off among different solutions is important to support engineers during decision making.

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 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 279.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    http://www.splot-research.org/.

  2. 2.

    http://www.inf.ufpr.br/gres/IS/MORevEngFMs.zip.

  3. 3.

    http://cs.gmu.edu/~eclab/projects/ecj/.

References

  1. Acher, M., Cleve, A., Perrouin, G., Heymans, P., Vanbeneden, C., Collet, P., Lahire, P.: On extracting feature models from product descriptions. In: International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS), pp. 45–54 (2012)

    Google Scholar 

  2. Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing, Verification and Reliability 24(3), 219–250 (2014)

    Article  Google Scholar 

  3. Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Multi-objective reverse engineering of variability-safe feature models based on code dependencies of system variants. Empirical Software Engineering 22(4), 1763–1794 (2016)

    Article  Google Scholar 

  4. Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering 22(6), 2972–3016 (2017)

    Article  Google Scholar 

  5. Assunção, W.K., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Extracting variability-safe feature models from source code dependencies in system variants. In: Genetic and Evolutionary Computation Conference (GECCO), pp. 1303–1310. ACM, New York, NY, USA (2015)

    Google Scholar 

  6. Assunção, W.K.G., Colanzi, T.E., Vergilio, S.R., Pozo, A.: A multi-objective optimization approach for the integration and test order problem. Information Sciences 267, 119 – 139 (2014)

    Article  MathSciNet  Google Scholar 

  7. Assunção, W.K.G., Vergilio, S.R.: Feature location for software product line migration: A mapping study. In: 18th Software Product Line Conference - 2nd International Workshop on REverse Variability Engineering (REVE), pp. 1–8 (2014)

    Google Scholar 

  8. Batory, D.: Feature models, grammars, and propositional formulas. In: H. Obbink, K. Pohl (eds.) Software Product Lines, pp. 7–20. Springer Berlin Heidelberg, Berlin, Heidelberg (2005)

    Chapter  Google Scholar 

  9. Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Transactions on Software Engineering 30(6), 355–371 (2004)

    Article  Google Scholar 

  10. Benavides, D., Segura, S., Cortés, A.R.: Automated analysis of feature models 20 years later: A literature review. Information Systems 35(6), 615–636 (2010)

    Article  Google Scholar 

  11. Benavides, D., Segura, S., Trinidad, P., Cortés, A.R.: FAMA: Tooling a framework for the automated analysis of feature models. In: K. Pohl, P. Heymans, K.C. Kang, A. Metzger (eds.) International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS), Lero Technical Report, vol. 2007-01, pp. 129–134 (2007)

    Google Scholar 

  12. Bergmann, R., Ludbrook, J., Spooren, W.P.J.M.: Different Outcomes of the Wilcoxon-Mann-Whitney Test from Different Statistics Packages. The American Statistician 54(1), 72–77 (2000)

    Google Scholar 

  13. Coello, C.A.C., Lamont, G., van Veldhuizen, D.: Evolutionary Algorithms for Solving Multi-Objective Problems, 2nd edn. Genetic and Evolutionary Computation. Springer, Berlin, Heidelberg (2007)

    Google Scholar 

  14. Colanzi, T.E., Assunção, W.K., Vergilio, S.R., Farah, P.R., Guizzo, G.: The symposium on search-based software engineering: Past, present and future. Information and Software Technology 127, 106,372 (2020)

    Article  Google Scholar 

  15. Couto, M.V., Valente, M.T., Figueiredo, E.: Extracting software product lines: A case study using conditional compilation. In: Conference on Software Maintenance and Reengineering (CSMR), pp. 191–200 (2011)

    Google Scholar 

  16. Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: International Software Product Line Conference (SPLC), pp. 23–34. IEEE Computer Society (2007)

    Google Scholar 

  17. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6(2), 182–197 (2002)

    Article  Google Scholar 

  18. Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Castor Filho, F., Dantas, F.: Evolving software product lines with aspects: An empirical study on design stability. In: International Conference on Software Engineering (ICSE), pp. 261–270. ACM, New York, NY, USA (2008)

    Google Scholar 

  19. Fischer, S., Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Enhancing clone-and-own with systematic reuse for developing software variants. In: International Conference on Software Maintenance and Evolution (ICSME) (2014)

    Google Scholar 

  20. Harman, M., Jia, Y., Krinke, J., Langdon, W.B., Petke, J., Zhang, Y.: Search based software engineering for software product line engineering: A survey and directions for future work. In: 18th International Software Product Line Conference - Volume 1, SPLC ’14, pp. 5–18. ACM, New York, NY, USA (2014)

    Google Scholar 

  21. Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys 45(1), 11:1–11:61 (2012)

    Google Scholar 

  22. Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: Reverse engineering feature models from programs’ feature sets. In: Working Conference on Reverse Engineering (WCRE), pp. 308–312 (2011)

    Google Scholar 

  23. Haslinger, E.N., Lopez-Herrejon, R.E., Egyed, A.: On extracting feature models from sets of valid feature combinations. In: International Conference Fundamental Approaches to Software Engineering (FASE), pp. 53–67 (2013)

    Google Scholar 

  24. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-21, SEI, CMU (1990)

    Google Scholar 

  25. Krueger, C.W.: Software reuse. ACM Computing Surveys (CSUR) 24(2), 131–183 (1992)

    Article  Google Scholar 

  26. Krueger, C.W.: Easing the transition to software mass customization. In: Software Product-Family Engineering, pp. 282–293. Springer (2002)

    Google Scholar 

  27. van d. Linden, F.J., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer (2007)

    Google Scholar 

  28. Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Recovering traceability between features and code in product variants. In: International Software Product Line Conference (SPLC), pp. 131–140 (2013)

    Google Scholar 

  29. Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Feature model synthesis with genetic programming. In: International Symposium on Search Based Software Engineering (SSBSE), pp. 153–167 (2014)

    Google Scholar 

  30. Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Variability extraction and modeling for product variants. Software & Systems Modeling 16(4), 1179–1199 (2017)

    Article  Google Scholar 

  31. Lopez-Herrejon, R.E., Galindo, J.A., Benavides, D., Segura, S., Egyed, A.: Reverse engineering feature models with evolutionary algorithms: An exploratory study. In: International Symposium on Search Based Software Engineering (SSBSE), pp. 168–182 (2012)

    Google Scholar 

  32. Lopez-Herrejon, R.E., Linsbauer, L., Egyed, A.: A systematic mapping study of search-based software engineering for software product lines. Journal of Information and Software Technology (2015)

    Google Scholar 

  33. Lopez-Herrejon, R.E., Linsbauer, L., Galindo, J.A., Parejo, J.A., Benavides, D., Segura, S., Egyed, A.: An assessment of search-based techniques for reverse engineering feature models. Journal of Systems and Software 103(0), 353 – 369 (2015)

    Article  Google Scholar 

  34. Manning, C.D., Raghavan, P., Schütze, H.: Introduction to information retrieval. Cambridge University Press (2008)

    Google Scholar 

  35. Mendonca, M., Branco, M., Cowan, D.: S.p.l.o.t.: Software product lines online tools. In: 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, OOPSLA ’09, p. 761–762. Association for Computing Machinery, New York, NY, USA (2009)

    Google Scholar 

  36. Sannier, N., Acher, M., Baudry, B.: From comparison matrix to variability model: The wikipedia case study. In: International Conference on Automated Software Engineering (ASE), pp. 580–585. IEEE (2013)

    Google Scholar 

  37. 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: U.W. Eisenecker, S. Apel, S. Gnesi (eds.) International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS), pp. 63–71. ACM (2012)

    Google Scholar 

  38. She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: International Conference on Software Engineering (ICSE), pp. 461–470. ACM (2011)

    Google Scholar 

  39. She, S., Ryssel, U., Andersen, N., Wasowski, A., Czarnecki, K.: Efficient synthesis of feature models. Information and Software Technology 56(9), 1122–1143 (2014)

    Article  Google Scholar 

  40. Thianniwet, T., Cohen, M.: SPLRevO: Optimizing complex feature models in search based reverse engineering of software product lines. In: North American Search Based Software Engineering Symposium (NasBASE) (2015)

    Google Scholar 

  41. Thianniwet, T., Cohen, M.B.: Scaling up the fitness function for reverse engineering feature models. In: F. Sarro, K. Deb (eds.) Search Based Software Engineering, pp. 128–142. Springer International Publishing, Cham (2016)

    Google Scholar 

  42. Vargha, A., Delaney, H.: 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 

  43. Vescan, A., Pintea, A., Linsbauer, L., Egyed, A.: Genetic programming for feature model synthesis: a replication study. Empirical Software Engineering 26(4) (2021)

    Google Scholar 

  44. Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: International Software Product Line Conference (SPLC), pp. 211–220 (2009)

    Google Scholar 

  45. Yao, X.: Some Recent Work on Multi-objective Approaches to Search-Based Software Engineering, pp. 4–15. Springer Berlin Heidelberg, Berlin, Heidelberg (2013)

    Google Scholar 

  46. Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Tech. Rep. 103, Swiss Federal Institute of Technology (ETH) Zurich, Gloriastrasse 35, CH-8092 Zurich, Switzerland (2001)

    Google Scholar 

  47. Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C.M., da Fonseca, V.G.: Performance assessment of multiobjective optimizers: An analysis and review. IEEE Transactions on Evolutionary Computation 7, 117–132 (2003)

    Article  Google Scholar 

Download references

Acknowledgements

This work was supported by the Brazilian Agencies CAPES: 7126/2014-00; CNPq: 453678/2014-9, 305358/2012-0, 408356/2018-9 and 305968/2018-1; and the Carlos Chagas Filho Foundation for Supporting Research in the State of Rio de Janeiro (FAPERJ), under the PDR-10 program, grant 202073/2020. This work is partially funded Natural Sciences and Engineering Research Council of Canada (NSERC) grant RGPIN-2017-05421.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wesley K. G. Assunção .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Assunção, W.K.G., Vergilio, S.R., Lopez-Herrejon, R.E., Linsbauer, L. (2023). Search-Based Variability Model Synthesis from Variant Configurations. In: Lopez-Herrejon, R.E., Martinez, J., Guez Assunção, W.K., Ziadi, T., Acher, M., Vergilio, S. (eds) Handbook of Re-Engineering Software Intensive Systems into Software Product Lines. Springer, Cham. https://doi.org/10.1007/978-3-031-11686-5_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-11686-5_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-11685-8

  • Online ISBN: 978-3-031-11686-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics