Partially safe evolution of software product lines

被引:4
|
作者
Sampaio, Gabriela [1 ]
Borba, Paulo [1 ]
Teixeira, Leopoldo [1 ]
机构
[1] Univ Fed Pernambuco, Informat Ctr, Av Jornalista Anibal Fernandes, BR-50740560 Recife, PE, Brazil
关键词
Product line evolution; Product line maintenance; Product line refinement;
D O I
10.1016/j.jss.2019.04.051
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software Product Lines allow the automatic generation of related products built with reusable artefacts. In this context, developers may need to perform changes and check whether products are affected. A strategy to perform such analysis is verifying behaviour preservation through the use of formal theories. The product line refinement notion requires behaviour preservation for all existing products. Nevertheless, in evolution scenarios like bug fixes, some products intentionally have their behaviour changed. To support developers in these and other unsafe scenarios, we define a theory of partial product line refinement that helps to precisely understand which products are affected by a change. This provides a kind of impact analysis that could, for example, reduce test effort, since only affected products need to be tested. We provide properties such as compositionality, which deals with changes to a specific product line element, and general properties to support developers when safe and partially safe scenarios are combined. We also define a set of transformation templates, which are classified according to their compatibility to specific types of product lines. To evaluate our work, we analyse two product lines: Linux and Soletta, to discover if our templates could be helpful in evolving these systems. (C) 2019 Elsevier Inc. All rights reserved.
引用
收藏
页码:17 / 42
页数:26
相关论文
共 50 条
  • [1] Investigating the Safe Evolution of Software Product Lines
    Neves, Lais
    Teixeira, Leopoldo
    Borba, Paulo
    Alves, Vander
    Sena, Demostenes
    Kulesza, Uira
    [J]. GPCE 11: PROCEEDINGS OF THE TENTH INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING, 2011, : 33 - 42
  • [2] Investigating the Safe Evolution of Software Product Lines
    Neves, Lais
    Teixeira, Leopoldo
    Borba, Paulo
    Alves, Vander
    Sena, Demostenas
    Kulesza, Uira
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (03) : 33 - 42
  • [3] Safe Evolution Patterns for Software Product Lines
    Dintzner, Nicolas
    [J]. 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 875 - 878
  • [4] Safe evolution templates for software product lines
    Neves, L.
    Borba, P.
    Alves, V.
    Turnes, L.
    Teixeira, L.
    Sena, D.
    Kulesza, U.
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 106 : 42 - 58
  • [5] Characterizing safe and partially safe evolution scenarios in product lines: An Empirical Study
    Gomes, Karine
    Teixeira, Leopoldo
    Alves, Thayonara
    Ribeiro, Marcio
    Gheyi, Rohit
    [J]. PROCEEDINGS OF THE 13TH INTERNATIONAL WORKSHOP ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS (VAMOS '19), 2019,
  • [6] Safe Evolution of Software Product Lines: Feature Extraction Scenarios
    Benbassat, Fernando
    Borba, Paulo
    Teixeira, Leopoldo
    [J]. PROCEEDINGS OF 2016 X BRAZILIAN SYMPOSIUM ON SOFTWARE COMPONENTS, ARCHITECTURES AND REUSE (SBCARS), 2016, : 11 - 20
  • [7] Evolution in dynamic software product lines
    Quinton, Clement
    Vierhauser, Michael
    Rabiser, Rick
    Baresi, Luciano
    Gruenbacher, Paul
    Schuhmayer, Christian
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2021, 33 (02)
  • [8] Learning and Evolution in Dynamic Software Product Lines
    Sharifloo, Amir Molzam
    Metzger, Andreas
    Quinton, Clement
    Baresi, Luciano
    Pohl, Klaus
    [J]. PROCEEDINGS OF 2016 IEEE/ACM 11TH INTERNATIONAL SYMPOSIUM ON SOFTWARE ENGINEERING FOR ADAPTIVE AND SELF-MANAGING SYSTEMS (SEAMS), 2016, : 158 - 164
  • [9] Evolution in software product lines: Two cases
    Svahnberg, M
    Bosch, J
    [J]. JOURNAL OF SOFTWARE MAINTENANCE-RESEARCH AND PRACTICE, 1999, 11 (06): : 391 - 422
  • [10] Guaranteeing Correct Evolution of Software Product Lines
    ter Beek, Maurice
    Muccini, Henry
    Pelliccione, Patrizio
    [J]. ERCIM NEWS, 2012, (88): : 40 - 41