Projects per year
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.
Original language | English |
---|---|
Title of host publication | SPLC '16: Proceedings of the 20th International Systems and Software Product Line Conference |
Publisher | ACM |
Pages | 35-44 |
Number of pages | 9 |
ISBN (Print) | 978-1-4503-4050-2 |
DOIs | |
Publication status | Published - Sept 2016 |
Publication series
Name | SPLC: Software Product Line Conference |
---|
Fields of science
- 102 Computer Sciences
- 102009 Computer simulation
- 102011 Formal languages
- 102013 Human-computer interaction
- 102022 Software development
- 102029 Practical computer science
JKU Focus areas
- Computation in Informatics and Mathematics
- Engineering and Natural Sciences (in general)
Projects
- 1 Finished
-
Christian Doppler Labor für Monitoring and Evolution of Very-Large-Scale Software Systems
Grünbacher, P. (PI)
01.02.2013 → 31.08.2020
Project: Funded research › Other mainly public funds