Title
A prototype-based approach for managing clones in clone-and-own product lines.
Abstract
Feature models are commonly used in industrial contexts to guide and automate the derivation of product variants. However, in real-world product lines the derivation process goes beyond selecting and composing product features. Specifically, developers often perform clone-and-own reuse, i.e., they copy, modify, and extend existing code to provide the functionality required by customers. Clones are created at different levels of granularity, ranging from individual features to entire systems. Refactoring and reverse engineering approaches have been proposed for dealing with cloned product variants. However, managing clones has not been addressed in the context of feature models. For instance, if clones are created to address customer requirements in specific product variants, the connection to the original feature models is frequently lost. We thus present a modeling approach based on prototypes, i.e., prefabricated objects from which clones are created. Our approach allows to manage prototypes and their clones at the levels of products, components, and features. We use compliance levels to define the required level of consistency between prototypes and clones. We further adapt an existing consistency checking framework for detecting inconsistent clones when the product line evolves. Our approach uses feature-to-code mappings to determine the impact of changes on code elements. We present a case study illustrating prototypes, clones, and compliance levels in selected development scenarios of our industry partner's product line. We also discuss the use of static code analysis techniques to support engineers in determining the impact of changed prototypes on affected clones, an area we plan to address in our future work.
Year
DOI
Venue
2016
10.1145/2934466.2934487
SPLC
Field
DocType
Citations 
Customer requirements,Static program analysis,Systems engineering,Reuse,Computer science,Industrial systems,Reverse engineering,Product line,Granularity,Code refactoring
Conference
4
PageRank 
References 
Authors
0.37
30
4
Name
Order
Citations
PageRank
Daniela Rabiser140.37
Paul Grünbacher22007118.84
Herbert Prähofer318917.00
Florian Angerer41076.78