Systematic Software Reuse with Automated Extraction and Composition for Clone-and-Own (bibtex)
by Lukas Linsbauer, Stefan Fischer, Gabriela Karoline Michelon, Wesley K. G. Assunção, Paul Grünbacher, Roberto E. Lopez-Herrejon, Alexander Egyed
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.
Reference:
Systematic Software Reuse with Automated Extraction and Composition for Clone-and-Own (Lukas Linsbauer, Stefan Fischer, Gabriela Karoline Michelon, Wesley K. G. Assunção, Paul Grünbacher, Roberto E. Lopez-Herrejon, Alexander Egyed), Chapter in (Roberto E. Lopez-Herrejon, Jabier Martinez, Wesley K. G. Assunção, Tewfik Ziadi, Mathieu Acher, Silvia Vergilio, eds.), Springer International Publishing, 2023.
Bibtex Entry:
@Inbook{Linsbauer2023,
author="Linsbauer, Lukas
and Fischer, Stefan
and Michelon, Gabriela Karoline
and Assunção, Wesley K. G.
and Gr{\"u}nbacher, Paul
and Lopez-Herrejon, Roberto E.
and Egyed, Alexander",
editor="Lopez-Herrejon, Roberto E.
and Martinez, Jabier
and Assunção, Wesley K. G.
and Ziadi, Tewfik
and Acher, Mathieu
and Vergilio, Silvia",
title="Systematic Software Reuse with Automated Extraction and Composition for Clone-and-Own",
bookTitle="Handbook of Re-Engineering Software Intensive Systems into Software Product Lines",
year="2023",
publisher="Springer International Publishing",
address="Cham",
pages="379--404",
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.",
isbn="978-3-031-11686-5",
doi="10.1007/978-3-031-11686-5_15",
url="https://doi.org/10.1007/978-3-031-11686-5_15"
}
Powered by bibtexbrowser