Safe Evolution Templates for Software Product Lines (Supporting Material)

Laís Neves, Paulo Borba, Vander Alves, Lucinéia Turnes, Leopoldo Teixeira, Demóstenes Sena, Uirá Kulesza


Abstract for TOSEM

A software product line is a set of related software products that are generated from reusable assets. Products are related in the sense that they share common functionality. The adoption of a product line strategy can bring significant quality and productivity and time-to-market improvements. However, evolving a product line is risky because it might impact many products and their corresponding users. When evolving a product line to introduce new features or to improve its design, it is important to make sure that the behavior of existing products is not affected, thus assuring safety for existing users. In fact, to preserve the behavior of existing products, one usually has to analyze different artifacts, like feature model, configuration knowledge, and the product line core assets. These tasks are usually tedious and can also introduce defects, compromising the promised benefits in other dimensions of costs and risks. To address this issue, in this work we discover and analyze concrete evolution scenarios from four different product lines, namely a tool that generates functional tests from use case specifications, a system to manage media on mobile devices, a program for research groups management, and a product line of product line derivation tools. Based on the results of this study, we describe a total of 13 safe evolution templates, which are generic transformations that developers can apply when maintaining compositional and annotative product lines. We consider these transformations product line refinements because they preserve the behavior of existing products and they can eventually introduce new products in the product line. We also evaluate the templates by analyzing the evolution history of these four product lines. In this evaluation, we could observe that the templates can address the modifications that developers performed in the analyzed scenarios, which corroborates the expressivity of our templates set. We could also observe that if the templates had been used as a guide when evolving the product lines, they could also have helped to avoid the errors that we identified during our analysis.

TaRGeT SPL Safe Evolution Scenarios

  • Some evolution scenarios are detailed here.
Note: As we migrated the data from our SVN to a public one, the commit comments were lost. If you need the comments, you can send an email to lmn3 at cin.ufpe. br requesting them. Some releases used Pure Variants and/or Hephaestus tools to manage variabilities.

MobileMedia SPL Safe Evolution Scenarios

RGMS SPL Safe Evolution Scenarios

RGMS safe evolution scenarios

Hephaestus-PL Safe Evolution Scenarios

Safe Evolution Templates

Here we illustrate the templates for software product line safe evoltion.

Templates for Compositional Product Lines

  • Split Asset

  • Refine Asset

  • Add New Optional Feature

  • Add New Mandatory Feature

  • Replace Feature Expression

  • Add New Alternative Feature

  • Add New OR Feature

  • Delete Asset

Templates for Annotative Product Lines

  • Preprocess Asset Without Preprocessor Directive


  • Add Dead Preprocessed Code


  • Add Harmless Preprocessing Directive


  • Add New Preprocessed Feature


  • Extract Preprocessed Code



If you have any questions, comments, or suggestions, please do not hesitate to contact one of the following:

-- LaisNeves - 2013-03-27 -- LaisNeves - 25 Oct 2011 -- LaisNeves - 20 May 2011 -- LaisNeves - 01 Mar 2011
Edit | Attach | Print version | History: r26 < r25 < r24 < r23 < r22 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r24 - 2013-07-09 - LaisNeves
This site is powered by the TWiki collaboration platformCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

mersin escort bayan adana escort bayan izmit escort ankara escort bursa escort