On-the-Fly Decomposition of Specifications in Software Model Checking

被引:9
|
作者
Apel, Sven [1 ]
Beyer, Dirk [2 ]
Mordan, Vitaly [3 ]
Mutilin, Vadim [3 ]
Stahlbauer, Andreas [1 ]
机构
[1] Univ Passau, Passau, Germany
[2] Ludwig Maximilians Univ Munchen, Munich, Germany
[3] ISP RAS, Moscow, Russia
关键词
Software Model Checking; Program Analysis; Multi-Property Verification; Specification; Formal Methods; Decomposition; VERIFICATION;
D O I
10.1145/2950290.2950349
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Major breakthroughs have increased the efficiency and effectiveness of software model checking considerably, such that this technology is now applicable to industrial-scale software. However, verifying the full formal specification of a software system is still considered too complex, and in practice, sets of properties are verified one by one in isolation. We propose an approach that takes the full formal specification as input and first tries to verify all properties simultaneously in one run of the verifier. Our verification algorithm monitors itself and detects situations for which the full set of properties is too complex. In such cases, we perform an automatic decomposition of the full set of properties into smaller sets, and continue the verification seamlessly. To avoid state-space explosion for large sets of properties, we introduce on-the-fly property weaving : properties get weaved into the program's transition system on the fly, during the analysis; which properties to weave and verify is determined dynamically during the verification process. We perform an extensive evaluation based on verification tasks that were derived from 4 336 Linux kernel modules, and a set of properties that define the correct usage of the Linux API. Checking several properties simultaneously can lead to a significant performance gain, due to the fact that abstract models share many parts among different properties.
引用
收藏
页码:349 / 361
页数:13
相关论文
共 50 条
  • [1] On-the-fly model checking from interval logic specifications
    Hornos, MJ
    Capel, MI
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (12) : 108 - 119
  • [2] FBT: A tool for applying interval logic specifications to on-the-fly model checking
    Hornos, MJ
    [J]. JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2004, 10 (11) : 1498 - 1518
  • [3] On-the-fly techniques for game-based software model checking
    Bakewell, Adam
    Ghica, Dan R.
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2008, 4963 : 78 - 92
  • [4] On-the-fly Probabilistic Model Checking
    Latella, Diego
    Loreti, Michele
    Massink, Mieke
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (166): : 45 - 59
  • [5] On-the-Fly Model Checking with Neural MCTS
    Xu, Ruiyang
    Lieberherr, Karl
    [J]. NASA FORMAL METHODS (NFM 2022), 2022, 13260 : 557 - 575
  • [6] Next heuristic for on-the-fly model checking
    Alur, R
    Wang, BY
    [J]. CONCUR '99: CONCURRENCY THEORY, 1999, 1664 : 98 - 113
  • [7] Truly on-the-fly LTL model checking
    Hammer, M
    Knapp, A
    Merz, S
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2005, 3440 : 191 - 205
  • [8] On-the-fly model checking of RCTL formulas
    Beer, I
    Ben-David, S
    Landver, A
    [J]. COMPUTER AIDED VERIFICATION, 1998, 1427 : 184 - 194
  • [9] Scalable distributed on-the-fly symbolic model checking
    Ben-David, S
    Heyman, T
    Grumberg, O
    Schuster, A
    [J]. FORMAL METHODS IN COMPUTER-AIDED DESIGN, PROCEEDINGS, 2000, 1954 : 390 - 404
  • [10] Model checking large software specifications
    Chan, W
    Anderson, RJ
    Beame, P
    Burns, S
    Modugno, F
    Notkin, D
    Reese, JD
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (07) : 498 - 520