Project Details
Projekt Print View

Stepwise Migration of Cloned Product Variants to a Compositional Software Product Line

Subject Area Software Engineering and Programming Languages
Term from 2015 to 2022
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 280801480
 
Software product lines enable the strategic reuse of software and handle variability in a systematic way. In practice, however, reuse and variability are often implemented ad hoc, by copying and adapting artifacts (the clone-and-own approach). Due to a lack of automation, propagating changes (e. g. error corrections, performance improvements) to several cloned product variants and exchanging functionality between variants is time-consuming and error prone.To solve these problems, we propose the stepwise migration of cloned product variants to a compositional software product line (SPL). First, all of the variants are integrated unaltered into an initial SPL. Subsequently, this SPL is transformed into a well-structured, modular target SPL by means of small, semantics-preserving steps. Compared to existing approaches to migrate product variants to an SPL, this course of action provides the following advantages:1) The SPL can be used in production immediately. Up until now, production had to be halted for extended periods of time because migration could not be interrupted.2) The composition-based implementation approach supports maintainability. This avoids the problems associated with annotation-based SPL implementation techniques (e. g. lack of modularization, hard to read program code), which are widely used in practice.3) Semantics-preservation of the original variants is guaranteed.The core of our project is the research of variant-preserving refactoring. By this, we mean consistent transformations on the model as well as the implementation level, which are semantics-preserving with respect to all possible products of the SPL. These refactorings are combined with code clone detection in order to increase reuse and thereby decrease maintenance costs and future defect rates. Moreover, we will research feature location techniques in multiple product variants. Combined with variant-preserving refactoring, these techniques allow for the stepwise extraction of functionality from multiple product variants. Not only can we reconstruct the original variants by composing the extracted features, but we can even create new variants. Thereby, new requirements are addressed even more effectively.
DFG Programme Research Grants
 
 

Additional Information

Textvergrößerung und Kontrastanpassung