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

Menu

  • Analyzed SPLs
    • TaRGeT
    • MobileMedia
    • RGMS
    • Hephaestus
  • Safe Evolution Templates for Software Product Lines
  • Contact

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 Analyzed Releases

  • Some evolution scenarios are detailed here.
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.

MobileMedia SPL Analyzed Releases

RGMS SPL Analyzed Releases

RGMS safe evolution scenarios

Hephaestus SPL Analyzed Releases

Safe Evolution Templates for GPCE'2011

  • Template 1 - Split Asset
TemplateSplitAsset.png

  • Template 2 - Refactor Asset
TemplateRefactorAsset.png

  • Template 3 - Add New Optional Feature
TemplateAddOptionalFeature.png

  • Template 4 - Add New Mandatory Feature
TemplateAddNewMandatory.png

  • Template 5 - Replace Feature Expression
TemplateChangeFeatureExpression.png

  • Template 6 - Add New Alternative Feature
TemplateAddNewAlternative.png

  • Template 7 - Add New OR Feature
TemplateAddNewOR.png

  • Template 8 - Delete Asset
TemplatesDeleteAsset.png

Contact

In case of any problem, please contact one of the following:

  • Laís Neves (lmn3 [at] cin . ufpe.br)
  • Leopoldo Teixeira (lmt [at] cin . ufpe.br)
  • Paulo Borba (phmb [at] cin . ufpe.br)


If you want to use the evolution scenarios data, please cite the following work: Lais Neves, Leopoldo Teixeira, Demóstenes Sena, Vander Alves, Uirá Kulesza, and Paulo Borba. Investigating the safe evolution of software product lines. In Proceedings of the 10th International Conference on Generative Programming and Component Engineering (GPCE 2011), Portlan, OR, USA, 2011. ACM.

-- LaisNeves - 25 Oct 2011 -- LaisNeves - 20 May 2011 -- LaisNeves - 01 Mar 2011

Edit | Attach | Print version | History: r26 | r19 < r18 < r17 < r16 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r17 - 2013-03-26 - LaisNeves
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2019 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