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

Lukas Linsbauer, Stefan Fischer, Gabriela Michelon, Wesley Klewerton Guez Assuncao, Paul Grünbacher, Roberto Erick Lopez-Herrejon, Alexander Egyed

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

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.
Original languageEnglish
Title of host publicationHandbook of Re-Engineering Software Intensive Systems into Software Product Lines
Editors Lopez-Herrejon, R. E.and Martinez, K.and Assunção, W. K. G.and Ziadi, T.and Acher, M.and Vergilio, S.
Place of PublicationCham
PublisherSpringer International Publishing
Pages379-404
Number of pages26
ISBN (Print)978-3-031-11686-5
DOIs
Publication statusPublished - 2023

Fields of science

  • 102 Computer Sciences
  • 102022 Software development

JKU Focus areas

  • Digital Transformation

Cite this