Skip to main content

Systematic Software Reuse with Automated Extraction and Composition for Clone-and-Own

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

Abstract

In order to meet highly individual and frequently changing customer requirements, engineers need to efficiently develop and maintain large sets of custom-tailored variants of systems. An approach commonly used in practice is to clone existing variants and adapt them to meet new requirements. This clone-and-own approach is flexible, intuitive and leads to quick results. However, it causes problems in the long run, as the efficient maintenance of existing variants and reuse of implementation when creating new variants become challenging for larger sets of clones. Software product line engineering addresses these problems as a structured approach for developing highly configurable systems by providing a common platform from which variants can be derived. This enables efficient reuse and maintenance, but requires large upfront investment for building the platform and training of developers. Furthermore, it is not as flexible when it comes to evolution, as changes to the platform can affect many variants at once and possible side-effects need to be considered. In this work, we propose an approach for combining the advantages of ad-hoc reuse, such as flexibility and intuitiveness, with the advantages of product line engineering, such as efficient reuse and a common platform. Specifically, we introduce data structures and operations for the automated extraction of feature-to-implementation traces from variants, and accompanying workflows for creating and evolving a portfolio of variants that resemble clone-and-own but are supported by automated reuse. We show an implementation of the discussed concepts in practice and successfully evaluate it on a research challenge.

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

Similar content being viewed by others

Notes

  1. 1.

    https://www.eclipse.org/modeling/emf/

  2. 2.

    https://jku-isse.github.io/ecco/

  3. 3.

    https://github.com/jku-isse/ecco

  4. 4.

    https://github.com/jku-isse/ecco-web

  5. 5.

    https://jku-isse.github.io/ecco-web/

  6. 6.

    https://but4reuse.github.io/

  7. 7.

    https://github.com/jku-isse/SPLC2019-Challenge-ArgoUML-FeatureLocation

References

  1. Angerer, F., Grimmer, A., Prähofer, H., Grünbacher, P.: Change impact analysis for maintenance and evolution of variable software systems. Autom. Softw. Eng. 26(2), 417–461 (2019)

    Article  Google Scholar 

  2. Apel, S., Batory, D.S., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines — Concepts and Implementation. Springer (2013)

    Google Scholar 

  3. 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. Empir. Softw. Eng. 22(6), 2972–3016 (2017)

    Article  Google Scholar 

  4. Assunção, W.K.G., Vergilio, S.R.: Feature location for software product line migration: a mapping study. In: SPLC Workshops, pp. 52–59. ACM (2014)

    Google Scholar 

  5. Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)

    Article  Google Scholar 

  6. Berger, T., Lettner, D., Rubin, J., Grünbacher, P., Silva, A., Becker, M., Chechik, M., Czarnecki, K.: What is a feature?: a qualitative study of features in industrial software product lines. In: SPLC, pp. 16–25. ACM (2015)

    Google Scholar 

  7. Cleland-Huang, J., Gotel, O., Zisman, A. (eds.): Software and Systems Traceability. Springer (2012)

    Google Scholar 

  8. Couto, M.V., Valente, M.T., Figueiredo, E.: Extracting software product lines: A case study using conditional compilation. In: 15th European Conference on Software Maintenance and Reengineering, CSMR 2011, 1–4 March 2011, Oldenburg, Germany, pp. 191–200. IEEE Computer Society (2011)

    Google Scholar 

  9. Cruz, D., Figueiredo, E., Martinez, J.: A literature review and comparison of three feature location techniques using argouml-spl. In: VaMoS, pp. 16:1–16:10. ACM (2019)

    Google Scholar 

  10. Deorowicz, S., Debudaj-Grabysz, A., Gudys, A.: Kalign-LCS - A more accurate and faster variant of Kalign2 algorithm for the multiple sequence alignment problem. In: ICMMI, Advances in Intelligent Systems and Computing, vol. 242, pp. 495–502. Springer (2013)

    Google Scholar 

  11. Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., Czarnecki, K.: An exploratory study of cloning in industrial software product lines. In: 17th European Conference on Software Maintenance and Reengineering, CSMR 2013, Genova, Italy, March 5–8, 2013, pp. 25–34 (2013)

    Google Scholar 

  12. Fischer, S., Linsbauer, L., Egyed, A., Lopez-Herrejon, R.E.: Predicting higher order structural feature interactions in variable systems. In: ICSME, pp. 252–263. IEEE Computer Society (2018)

    Google Scholar 

  13. Fischer, S., Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: Enhancing clone-and-own with systematic reuse for developing software variants. In: 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, pp. 391–400. IEEE Computer Society (2014)

    Google Scholar 

  14. Fischer, S., Linsbauer, L., Lopez-Herrejon, R.E., Egyed, A.: A source level empirical study of features and their interactions in variable software. In: 16th International Working Conference on Source Code Analysis and Manipulation, SCAM 2016, pp. 197–206. IEEE (2016)

    Google Scholar 

  15. Illescas, S., Lopez-Herrejon, R.E., Egyed, A.: Towards visualization of feature interactions in software product lines. In: IEEE Working Conference on Software Visualization, Raleigh, NC, USA, pp. 46–50. IEEE Computer Society (2016)

    Google Scholar 

  16. Liebig, J., Kästner, C., Apel, S.: Analyzing the discipline of preprocessor annotations in 30 million lines of C code. In: 10th International Conference on Aspect-Oriented Software Development, AOSD 2011, Porto de Galinhas, Brazil, March 21–25, 2011, pp. 191–202. ACM (2011)

    Google Scholar 

  17. Linsbauer, L., Berger, T., Grünbacher, P.: A classification of variation control systems. In: Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, Vancouver, BC, Canada, pp. 49–62. ACM (2017)

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  20. Linsbauer, L., Schwägerl, F., Berger, T., Grünbacher, P.: Concepts of variation control systems. J. Syst. Softw. 171, 110,796 (2021)

    Article  Google Scholar 

  21. Liu, J., Batory, D., Lengauer, C.: Feature oriented refactoring of legacy applications. In: 28th International Conference on Software Engineering, ICSE 2006, p. 112–121. ACM (2006)

    Google Scholar 

  22. Lopez-Herrejon, R.E., Illescas, S., Egyed, A.: Visualization for software product lines: A systematic mapping study. In: 2016 IEEE Working Conference on Software Visualization, Raleigh, NC, USA, pp. 26–35. IEEE Computer Society (2016)

    Google Scholar 

  23. Lopez-Herrejon, R.E., Illescas, S., Egyed, A.: A systematic mapping study of information visualization for software product line engineering. Journal of Software: Evolution and Process 30(2) (2018)

    Google Scholar 

  24. Mäder, P., Egyed, A.: Do software engineers benefit from source code navigation with traceability? - an experiment in software change management. In: ASE, pp. 444–447. IEEE Computer Society (2011)

    Google Scholar 

  25. Mäder, P., Egyed, A.: Assessing the effect of requirements traceability for software maintenance. In: ICSM, pp. 171–180. IEEE Computer Society (2012)

    Google Scholar 

  26. Mäder, P., Egyed, A.: Do developers benefit from requirements traceability when evolving and maintaining a software system? Empirical Software Engineering 20(2), 413–441 (2015)

    Article  Google Scholar 

  27. Martinez, J., Assunção, W.K.G., Ziadi, T.: Espla: A catalog of extractive spl adoption case studies. In: 21st International Systems and Software Product Line Conference - Volume B, SPLC ’17, pp. 38–41. ACM (2017)

    Google Scholar 

  28. Martinez, J., Ordoñez, N., Tërnava, X., Ziadi, T., Aponte, J., Figueiredo, E., Valente, M.T.: Feature location benchmark with argouml spl. In: Proceeedings of the 22nd International Systems and Software Product Line Conference - Volume 1, SPLC 2018, Gothenburg, Sweden, pp. 257–263. ACM (2018)

    Google Scholar 

  29. Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Bottom-up adoption of software product lines: a generic and extensible approach. In: SPLC, pp. 101–110. ACM (2015)

    Google Scholar 

  30. Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Bottom-up technologies for reuse: automated extractive adoption of software product lines. In: ICSE (Companion Volume), pp. 67–70. IEEE Computer Society (2017)

    Google Scholar 

  31. Michelon, G.K., Linsbauer, L., Assunção, W.K.G., Egyed, A.: Comparison-based feature location in ArgoUML variants. In: Proceedings of the 23rd International Systems and Software Product Line Conference, SPLC 2019, Volume A, Paris, France, September 9–13, 2019, pp. 17:1–17:5. ACM (2019)

    Google Scholar 

  32. Michelon, G.K., Obermann, D., Linsbauer, L., Assunção, W.K.G., Grünbacher, P., Egyed, A.: Locating feature revisions in software systems evolving in space and time. In: SPLC ’20: 24th ACM International Systems and Software Product Line Conference, Montreal, Quebec, Canada, October 19–23, 2020, Volume A, pp. 14:1–14:11. ACM (2020)

    Google Scholar 

  33. Müller, R., Eisenecker, U.W.: A graph-based feature location approach using set theory. In: Proceedings of the 23rd International Systems and Software Product Line Conference, SPLC 2019, Volume A, Paris, France, September 9–13, 2019, pp. 16:1–16:5. ACM (2019)

    Google Scholar 

  34. Pohl, K., Böckle, G., Linden, F.J.v.d.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc. (2005)

    Google Scholar 

  35. Rubin, J., Chechik, M.: A survey of feature location techniques. In: Domain Engineering, Product Lines, Languages, and Conceptual Models, pp. 29–58. Springer (2013)

    Google Scholar 

  36. Rubin, J., Czarnecki, K., Chechik, M.: Managing cloned variants: a framework and experience. In: SPLC, pp. 101–110 (2013)

    Google Scholar 

  37. Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw., Pract. Exper. 35(8), 705–754 (2005)

    Google Scholar 

  38. Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: An extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)

    Article  Google Scholar 

Download references

Acknowledgements

This work was partially supported by 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 was partially supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) grant RGPIN-2017-05421.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Lukas Linsbauer or 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

Linsbauer, L. et al. (2023). Systematic Software Reuse with Automated Extraction and Composition for Clone-and-Own. 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_15

Download citation

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

  • 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