Safe Evolution Templates for Software Product Lines

Vander Ramos Alves; NEVES, L. ; BORBA, P. ; TURNES, L. ; TEIXEIRA, L. ; SENA, D. ; KULESZA, U.
The Journal of Systems and Software, p. 42-58
View details:  


Software product lines enable generating related software products from reusable assets. Adopting a product line strategy can bring significant quality and productivity improvements. However, evolving a product line can be risky, since it might impact many products. When introducing new features or improving its design, it is important to make sure that the behavior of existing products is not affected. To ensure that, one usually has to analyze different types of artifacts, an activity that can lead to errors. To address this issue, in this work we discover and analyze concrete evolution scenarios from five different product lines. We discover a total of 13 safe evolution templates, which are generic transformations that developers can apply when evolving compositional and annotative product lines, with the goal of preserving the behavior of existing products. We also evaluate the templates by analyzing the evolution history of these product lines. In this evaluation, we observe that the templates can address the modifications that developers performed in the analyzed scenarios, which corroborates the expressiveness of our template set. We also observe that the templates could also have helped to avoid the errors that we identified during our analysis.

BibTex references

title = "Safe evolution templates for software product lines ",
journal = "Journal of Systems and Software ",
volume = "106",
number = "",
pages = "42 - 58",
year = "2015",
note = "",
issn = "0164-1212",
doi = "",
url = "",
author = "L. Neves and P. Borba and V. Alves and L. Turnes and L. Teixeira and D. Sena and U. Kulesza",
keywords = "Software product lines",
keywords = "Refinement",
keywords = "Evolution "

Other publications in the database