Managing forked product variants

  • Authors:
  • Julia Rubin;Andrei Kirshin;Goetz Botterweck;Marsha Chechik

  • Affiliations:
  • University of Toronto, Canada and IBM Research at Haifa, Israel;IBM Research at Haifa, Israel;University of Limerick, Ireland;University of Toronto, Canada

  • Venue:
  • Proceedings of the 16th International Software Product Line Conference - Volume 1
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the problem of supporting effective code reuse as part of Software Product Line Engineering. Our approach is based on code forking -- a practice commonly used in industry where new products are created by cloning the existing ones. We propose to maintain meta-information allowing organization to reason about the developed product line in terms of features rather than incremental code changes made in different forks and to detect inconsistencies in implementations of these features. In addition, we propose to detect and maintain semantic, implementation-level require relationships between features, supporting the developers when they copy features from different branches or delete features in their own branch, thus facilitating reuse of features between products. Our approach aims at mitigating the disadvantages of the forking mechanism while leveraging its advantages. We illustrate the approach on an example, and discuss its possible implementation and integration with Software Configuration Management systems.