Efficient family-based model checking via variability abstractions

被引:28
|
作者
Dimovski, Aleksandar S. [1 ]
Al-Sibahi, Ahmad Salim [1 ]
Brabrand, Claus [1 ]
Wasowski, Andrzej [1 ]
机构
[1] IT Univ Copenhagen, Copenhagen, Denmark
关键词
Software product lines; Variability abstractions; Abstract model checking; Features; VERIFICATION;
D O I
10.1007/s10009-016-0425-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many software systems are variational: they can be configured to meet diverse sets of requirements. They can produce a (potentially huge) number of related systems, known as products or variants, by systematically reusing common parts. For variational models (variational systems or families of related systems), specialized family-based model checking algorithms allow efficient verification of multiple variants, simultaneously, in a single run. These algorithms, implemented in a tool , scale much better than "the brute force" approach, where all individual systems are verified using a single-system model checker, one-by-one. Nevertheless, their computational cost still greatly depends on the number of features and variants. For variational models with a large number of features and variants, the family-based model checking may be too costly or even infeasible. In this work, we address two key problems of family-based model checking. First, we improve scalability by introducing abstractions that simplify variability. Second, we reduce the burden of maintaining specialized family-based model checkers, by showing how the presented variability abstractions can be used to model check variational models using the standard version of (single-system) SPIN. The variability abstractions are first defined as Galois connections on semantic domains. We then show how to use them for defining abstract family-based model checking, where a variability model is replaced with an abstract version of it, which preserves the satisfaction of LTL properties. Moreover, given an abstraction, we define a syntactic source-to-source transformation on high-level modeling languages that describe variational models, such that the model checking of the transformed high-level variational model coincides with the abstract model checking of the concrete high-level variational model. This allows the use of SPIN with all its accumulated optimizations for efficient verification of variational models without any knowledge about variability. We have implemented the transformations in a prototype tool, and we illustrate the practicality of this method in several case studies.
引用
收藏
页码:585 / 603
页数:19
相关论文
共 50 条
  • [1] Efficient family-based model checking via variability abstractions
    Aleksandar S. Dimovski
    Ahmad Salim Al-Sibahi
    Claus Brabrand
    Andrzej Wąsowski
    [J]. International Journal on Software Tools for Technology Transfer, 2017, 19 : 585 - 603
  • [2] CTL☆ family-based model checking using variability abstractions and modal transition systems
    Dimovski, Aleksandar S.
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2020, 22 (01) : 35 - 55
  • [3] Family-Based Model Checking Without a Family-Based Model Checker
    Dimovski, Aleksandar S.
    Al-Sibahi, Ahmad Salim
    Brabrand, Claus
    Wasowski, Andrzej
    [J]. MODEL CHECKING SOFTWARE, SPIN 2015, 2015, 9232 : 282 - 299
  • [4] Finding Suitable Variability Abstractions for Family-Based Analysis
    Dimovski, Aleksandar S.
    Brabrand, Claus
    Wasowski, Andrzej
    [J]. FM 2016: FORMAL METHODS, 2016, 9995 : 217 - 234
  • [5] Variability-Specific Abstraction Refinement for Family-Based Model Checking
    Dimovski, Aleksandar S.
    Wasowski, Andrzej
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2017, 2017, 10202 : 406 - 423
  • [6] Family-Based SPL Model Checking Using Parity Games with Variability
    ter Beek, Maurice H.
    van Loo, Sjef
    de Vink, Erik P.
    Willemse, Tim A. C.
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2020), 2020, 12076 : 245 - 265
  • [7] Family-Based Model Checking with mCRL2
    ter Beek, Maurice H.
    de Vink, Erik P.
    Willemse, Tim A. C.
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2017, 2017, 10202 : 387 - 405
  • [8] Static Analysis and Family-based Model Checking with VMC
    ter Beek, Maurice H.
    Mazzanti, Franco
    Damiani, Ferruccio
    Paolini, Luca
    Scarso, Giordano
    Lienhardt, Michael
    [J]. SPLC '21: PROCEEDINGS OF THE 25TH ACM INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2021,
  • [9] Family-based Model Checking using Probabilistic Model Checker PRISM
    Kishi, Tomoji
    [J]. PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 376 - 385
  • [10] Family-Based Model Checking of SPL based on mCRL2
    Ben Snaiba, Ziad
    de Vink, Erik P.
    Willemse, Tim A. C.
    [J]. 21ST INTERNATIONAL SYSTEM & SOFTWARE PRODUCT LINE CONFERENCE (SPLC 2017), VOL 2, 2017, : 13 - 16