kirancodes.me
To Proof Maintenance & Beyond!

Sometimes you have to treat the symptoms: tackling model drift in an industrial clone-and-own software product line

Christof Tinnes, Wolfgang Rössler, Uwe Hohenstein, Torsten Kühn, Andreas Biesdorf, Sven Apel

Abstract

Many industrial software product lines use a clone-and-own approach for reuse among software products. As a result, the different products in the product line may drift apart, which implies increased efforts for tasks such as change propagation, domain analysis, and quality assurance. While many solutions have been proposed in the literature, these are often difficult to apply in a real-world setting. We study this drift of products in a concrete large-scale industrial model-driven clone-and-own software product line in the railway domain at our industry partner. For this purpose, we conducted interviews and a survey, and we investigated the models in the model history of this project. We found that increased efforts are mainly caused by large model differences and increased communication efforts. We argue that, in the short-term, treating the symptoms (i.e., handling large model differences) can help to keep efforts for software product-line engineering acceptable — instead of employing sophisticated variability management. To treat the symptoms, we employ a solution based on semantic-lifting to simplify model differences. Using the interviews and the survey, we evaluate the feasibility of variability management approaches and the semantic-lifting approach in the context of this project.

BibTeX
@inproceedings{Tinnes-al:FSE22,
  author    = {Christof Tinnes and
               Wolfgang R{\"{o}}ssler and
               Uwe Hohenstein and
               Torsten K{\"{u}}hn and
               Andreas Biesdorf and
               Sven Apel},
  title     = {Sometimes you have to treat the symptoms: tackling model drift in an industrial clone-and-own software product line},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {1355--1366},
  publisher = {{ACM}},
  year      = {2022},
}

Related papers