Feature-family-based reliability analysis of software product lines

被引:14
作者
Lanna, Andre [1 ]
Castro, Thiago [1 ,2 ]
Alves, Vander [1 ,4 ]
Rodrigues, Genaina [1 ]
Schobbens, Pierre-Yves [3 ]
Apel, Sven [4 ]
机构
[1] Univ Brasilia, Comp Sci Dept, Campus Univ Darcy Ribeiro,Edificio CIC EST, BR-70910900 Brasilia, DF, Brazil
[2] Brazilian Army, Syst Dev Ctr, QG Exercito Bloco G 2o Andar, Brasilia, DF, Brazil
[3] Univ Namur, PReC1SE, NaDI, Fac Comp Sci, Rue Grandgagnage 21, B-5000 Namur, Belgium
[4] Univ Passau, Dept Informat & Math, Innstr 33, D-94032 Passau, Germany
关键词
Software product lines; Software reliability analysis; Parametric verification; VERIFICATION;
D O I
10.1016/j.infsof.2017.10.001
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context Verification techniques are being applied to ensure that software systems achieve desired quality levels and fulfill functional and non-functional requirements. However, applying these techniques to software product lines is challenging, given the exponential blowup of the number of products. Current product-line verification techniques leverage symbolic model checking and variability information to optimize the analysis, but still face limitations that make them costly or infeasible. In particular, state-of-the-art verification techniques for product line reliability analysis are enumerative which hinders their applicability, given the latent exponential blowup of the configuration space. Objective: The objectives of this paper are the following: (a) we present a method to efficiently compute the reliability of all configurations of a compositional or annotation-based software product line from its UML behavioral models, (b) we provide a tool that implements the proposed method, and (c) we report on an empirical study comparing the performance of different reliability analysis strategies for software product lines. Method: We present a novel feature-family-based analysis strategy to compute the reliability of all products of a (compositional or annotation-based) software product line. The feature-based step of our strategy divides the behavioral models into smaller units that can be analyzed more efficiently. The family-based step performs the reliability computation for all configurations at once by evaluating reliability expressions in terms of a suitable variational data structure. Results: Our empirical results show that our feature-family-based strategy for reliability analysis outperforms, in terms of time and space, four state-of-the-art strategies (product-based, family-based, feature-product-based, and family-product-based) for the same property. It is the only one that could be scaled to a 2(20)-fold increase in the size of the configuration space. Conclusion: Our feature-family-based strategy leverages both feature- and family-based strategies by taming the size of the models to be analyzed and by avoiding the products enumeration inherent to some state-of-the-art analysis methods.
引用
收藏
页码:59 / 81
页数:23
相关论文
共 45 条
  • [1] [Anonymous], 2000, Generative Programming: Methods, Tools, and Applications
  • [2] APEL S, 2013, FEATURE ORIENTED SOF
  • [3] Algebraic decision diagrams and their applications
    Bahar, RI
    Frohm, EA
    Gaona, CM
    Hachtel, GD
    Macii, E
    Pardo, A
    Somenzi, F
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 1997, 10 (2-3) : 171 - 206
  • [4] BAHAR RI, 1993, 1993 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN - DIGEST OF TECHNICAL PAPERS, P188, DOI 10.1109/ICCAD.1993.580054
  • [5] Baier C, 2008, PRINCIPLES OF MODEL CHECKING, P1
  • [6] SPLLIFT - Statically Analyzing Software Product Lines in Minutes Instead of Years
    Bodden, Eric
    Toledo, Tarsis
    Ribeiro, Marcio
    Brabrand, Claus
    Borba, Paulo
    Mezini, Mira
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (06) : 355 - 364
  • [7] Clarke EM, 1999, MODEL CHECKING, P1
  • [8] Model checking software product lines with SNIP
    Andreas Classen
    Maxime Cordy
    Patrick Heymans
    Axel Legay
    Pierre-Yves Schobbens
    [J]. International Journal on Software Tools for Technology Transfer, 2012, 14 (5) : 589 - 612
  • [9] Classen A., 2010, P 32 ACM IEEE INT C, P335
  • [10] Formal semantics, modular specification, and symbolic verification of product-line behaviour
    Classen, Andreas
    Cordy, Maxime
    Heymans, Patrick
    Legay, Axel
    Schobbens, Pierre-Yves
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2014, 80 : 416 - 439