Skip to main navigation Skip to search Skip to main content

A Prototype-based Approach for Managing Clones in Clone-and-Own Product Lines

Research output: Chapter in Book/Report/Conference proceeding › Conference proceedings › peer-review

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 languageEnglish
Title of host publicationSPLC '16: Proceedings of the 20th International Systems and Software Product Line Conference
EditorsEbrahim Bagheri, Hong Mei, Xin Peng, Antonio Ruiz Cortes, Bran Selic, Yingfei Xiong, Rick Rabiser, Norbert Siegmund, Christoph Elsner, Jun Wei, Bing Xie, Jesper Andersson, Andrzej Wasowski, Li Zhang, Yun Xie, Krzysztof Czarnecki, Thorsten Berger, Jocelyn Simmonds
PublisherACM
Pages35-44
Number of pages10
ISBN (Electronic)9781450340502
ISBN (Print)978-1-4503-4050-2
DOIs
Publication statusPublished - 16 Sept 2016

Publication series

NameACM International Conference Proceeding Series
Volume16-23-September-2016

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)

Cite this