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 条
  • [21] SPLEMMA: A Generic Framework for Controlled-Evolution of Software Product Lines
    Romero, Daniel
    Urli, Simon
    Quinton, Clement
    Blay-Fornarino, Mireille
    Collet, Philippe
    Duchien, Laurence
    Mosser, Sebastien
    [J]. PROCEEDINGS OF THE 17TH INTERNATIONAL SOFTWARE PRODUCT LINE CONFERENCE CO-LOCATED WORKSHOPS (SPLC'13 WORKSHOPS), 2013, : 59 - 66
  • [22] Evaluating Lehman's Laws of software evolution within software product lines industrial projects
    de Oliveira, Raphael Pereira
    Santos, Alcemir Rodrigues
    de Almeida, Eduardo Santana
    da Silva Gomes, Gecynalda Soares
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2017, 131 : 347 - 365
  • [23] An Industrial Case Study for Adopting Software Product Lines in Automotive Industry An Evolution-Based Approach for Software Product Lines (EVOA-SPL)
    Ignaim, Karam
    Fernandes, Joao M.
    [J]. 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE(SPLC 2019), VOL B, 2019, : 183 - 190
  • [24] Introduction to Software Product Lines
    Northrop, Linda M.
    [J]. SOFTWARE PRODUCT LINES: GOING BEYOND, 2010, 6287 : 521 - 522
  • [25] Granularity in Software Product Lines
    Kaestner, Christian
    Apel, Sven
    Kuhlemann, Martin
    [J]. ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 311 - 320
  • [26] Dynamic software product lines
    Hallsteinsen, Svein
    Hinchey, Mike
    Park, Sooyong
    Schmid, Klaus
    [J]. COMPUTER, 2008, 41 (04) : 93 - 95
  • [27] Testing Software Product Lines
    da Mota Silveira Neto, Paulo Anselmo
    Runeson, Per
    Machado, Ivan do Carmo
    de Almeida, Eduardo Santana
    de Lemos Meira, Silvio Romero
    Engstrom, Emelie
    [J]. IEEE SOFTWARE, 2011, 28 (05) : 16 - 20
  • [28] Probabilistic software product lines
    Camacho, Carlos
    Llana, Luis
    Nunez, Alberto
    Bravetti, Mario
    [J]. JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2019, 107 : 54 - 78
  • [29] Initiating software product lines
    McGregor, JD
    Northrop, LM
    Jarrad, S
    Pohl, K
    [J]. IEEE SOFTWARE, 2002, 19 (04) : 24 - 27
  • [30] An introduction to software product lines
    Northrop, LM
    Clements, PC
    [J]. SOFTWARE PRODUCT LINES, PROCEEDINGS, 2004, 3154 : 322 - 322