Skip to main content

Safe Evolution of Product Lines Using Configuration Knowledge Laws

  • Conference paper
  • First Online:

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

Abstract

When evolving a software product line, it is often important to ensure that we do it in a safe way, ensuring that the resulting product line remains well-formed and that the behavior of existing products is not affected. To ensure this, one usually has to analyze the different artifacts that constitute a product line, like feature models, configuration knowledge and assets. Manually analyzing these artifacts can be time-consuming and error prone, since a product line might consist of thousands of products. Existing works show that a non-negligible number of changes performed in commits deal only with the configuration knowledge, that is, the mapping between features and assets. This way, in this paper, we propose a set of algebraic laws, which correspond to bi-directional transformations for configuration knowledge models, that we can use to justify safe evolution of product lines, when only the configuration knowledge model changes. Using a theorem prover, we proved all laws sound with respect to a formal semantics. We also present a case study, where we use these laws to justify safe evolution scenarios of a non trivial industrial software product line.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.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

Learn about institutional subscriptions

Notes

  1. 1.

    Rain of fire mobile game, developed by Meantime mobile creations.

References

  1. Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., Lucena, C.: Refactoring product lines. In: GPCE 2006, pp. 201–210 (2006)

    Google Scholar 

  2. Apel, S., Batory, D., Kstner, C., Saake, G.: Feature-Oriented Software ProductLines: Concepts and Implementation. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37521-7

    Book  Google Scholar 

  3. Batory, D.S.: Feature-oriented programming and the AHEAD tool suite. In: ICSE 2004, pp. 702–703 (2004)

    Google Scholar 

  4. 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). https://doi.org/10.1007/11554844_3

    Chapter  Google Scholar 

  5. Berger, T., She, S., Lotufo, R., Wasowski, A., Czarnecki, K.: Variability modeling in the real: a perspective from the operating systems domain. In: ASE 2010, pp. 73–82 (2010)

    Google Scholar 

  6. Bonifácio, R., Borba, P.: Modeling scenario variability as crosscutting mechanisms. In: AOSD 2009, pp. 125–136 (2009)

    Google Scholar 

  7. Borba, P.: An introduction to software product line refactoring. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 1–26. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-18023-1_1

    Chapter  Google Scholar 

  8. Borba, P., Teixeira, L., Gheyi, R.: A theory of software product line refinement. Theoret. Comput. Sci. 455, 2–30 (2012)

    Article  MathSciNet  Google Scholar 

  9. Calheiros, F., Borba, P., Soares, S., Nepomuceno, V., Alves, V.: Product line variability refactoring tool. In: WRT 2007 at ECOOP 2007, pp. 33–34 (2007)

    Google Scholar 

  10. Cole, L., Borba, P.: Deriving refactorings for AspectJ. In: AOSD 2005, pp. 123–134. ACM (2005)

    Google Scholar 

  11. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley, New York (2000)

    Google Scholar 

  12. Dintzner, N., van Deursen, A., Pinzger, M.: FEVER: an approach to analyze feature-oriented changes and artefact co-evolution in highly configurable systems. Empirical Softw. Eng. 23(2), 905–952 (2017). https://doi.org/10.1007/s10664-017-9557-6

    Article  Google Scholar 

  13. Ferreira, F., Gheyi, R., Borba, P., Soares, G.: A toolset for checking SPL refinements. J. Univ. Comput. Sci. 20(5), 587–614 (2014)

    Google Scholar 

  14. Ferreira, F., Neves, L., Silva, M., Borba, P.: Target: a model based product line testing tool. In: Tools Session at CBSoft 2010, pp. 67–72 (2010)

    Google Scholar 

  15. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, New York (1999)

    MATH  Google Scholar 

  16. Gheyi, R., Massoni, T., Borba, P.: Algebraic laws for feature models. J. Univ. Comput. Sci. 14(21), 3573–3591 (2008)

    MATH  Google Scholar 

  17. Gomes, K., Teixeira, L., Alves, T., Ribeiro, M., Gheyi, R.: Characterizing safe and partially safe evolution scenarios in product lines: An empirical study. In: VaMoS 2019 (2019)

    Google Scholar 

  18. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, CMU Software Engineering Institute (1990)

    Google Scholar 

  19. Kastner, C., Apel, S., Batory, D.: A case study implementing features using AspectJ. In: SPLC 2007, pp. 223–232. IEEE (2007)

    Google Scholar 

  20. Kolb, R., Muthig, D., Patzke, T., Yamauchi, K.: A case study in refactoring a legacy component for reuse in a product line. In: ICSM 2005, pp. 369–378 (2005)

    Google Scholar 

  21. Kröher, C., Gerling, L., Schmid, K.: Identifying the intensity of variability changes in software product line evolution. In: SPLC, pp. 54–64 (2018)

    Google Scholar 

  22. Krueger, C.W.: Easing the transition to software mass customization. In: van der Linden, F. (ed.) PFE 2001. LNCS, vol. 2290, pp. 282–293. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-47833-7_25

    Chapter  MATH  Google Scholar 

  23. Van der Linden, F., Schmid, K., Rommes, E.: Software Product Lines in Action: the Best Industrial Practice in Product Line Engineering. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71437-8

    Book  Google Scholar 

  24. Liu, J., Batory, D., Lengauer, C.: Feature oriented refactoring of legacy applications. In: ICSE 2006, pp. 112–121 (2006)

    Google Scholar 

  25. Mendonca, M., Wasowski, A., Czarnecki, K.: Sat-based analysis of feature models is easy. In: SPLC 2009, pp. 231–240 (2009)

    Google Scholar 

  26. Neves, L., Borba, P., Alves, V., Turnes, L., Teixeira, L., Sena, D., Kulesza, U.: Safe evolution templates for software product lines. JSS 106(C), 42–58 (2015)

    Google Scholar 

  27. Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Language Reference. SRI International (2001). http://pvs.csl.sri.com/doc/pvs-language-reference.pdf, version 2.4

  28. Sampaio, G., Borba, P., Teixeira, L.: Partially safe evolution of software product lines. J. Syst. Softw. 155, 17–42 (2019)

    Article  Google Scholar 

  29. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51(2), 456–479 (2007)

    Article  Google Scholar 

  30. Spivey: The Z Notation: A Reference Manual. Prentice Hall (1987)

    Google Scholar 

  31. Steimann, F., Thies, A.: From public to private to absent: refactoring Java programs under constrained accessibility. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 419–443. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03013-0_19

    Chapter  Google Scholar 

  32. Teixeira, L., Gheyi, R., Borba, P.: Online appendix (2020). http://www.cin.ufpe.br/~lmt/sbmf2020/

  33. Teixeira, L., Alves, V., Borba, P., Gheyi, R.: A product line of theories for reasoning about safe evolution of product lines. In: SPLC 2015, pp. 161–170 (2015)

    Google Scholar 

  34. Trinidad, P., Benavides, D., Durán, A., Cortés, A.R., Toro, M.: Automated error analysis for the agilization of feature modeling. JSS 81(6), 883–896 (2008)

    Google Scholar 

  35. Trujillo, S., Batory, D., Diaz, O.: Feature refactoring a multi-representation program into a product line. In: GPCE 2006, pp. 191–200 (2006)

    Google Scholar 

  36. Weiss, D.M., Li, J.J., Slye, J.H., Dinh-Trong, T.T., Sun, H.: Decision-model-based code generation for SPLE. In: SPLC 2008, pp. 129–138 (2008)

    Google Scholar 

Download references

Acknowledgments

This work was partially supported by CAPES (grants 117875 and 175956), CNPq (grants 409335/2016-9, 426005/2018-0, and 311442/2019-6) and FACEPE (APQ-0570-1.03/14), as well as INES 2.0, (http://www.ines.org.br) FACEPE grants PRONEX APQ-0388-1.03/14 and APQ-0399-1.03/17, and CNPq grant 465614/2014-0.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Leopoldo Teixeira .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Teixeira, L., Gheyi, R., Borba, P. (2020). Safe Evolution of Product Lines Using Configuration Knowledge Laws. In: Carvalho, G., Stolz, V. (eds) Formal Methods: Foundations and Applications. SBMF 2020. Lecture Notes in Computer Science(), vol 12475. Springer, Cham. https://doi.org/10.1007/978-3-030-63882-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-63882-5_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-63881-8

  • Online ISBN: 978-3-030-63882-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics