SMT-based model checking for recursive programs

被引:0
|
作者
Anvesh Komuravelli
Arie Gurfinkel
Sagar Chaki
机构
[1] Carnegie Mellon University,
来源
关键词
Model checking; May-must; Satisfiability; Quantifier elimination; Recursion; Compositional;
D O I
暂无
中图分类号
学科分类号
摘要
We present an SMT-based symbolic model checking algorithm for safety verification of recursive programs. The algorithm is modular and analyzes procedures individually. Unlike other SMT-based approaches, it maintains both over- and under-approximations of procedure summaries. Under-approximations are used to analyze procedure calls without inlining. Over-approximations are used to block infeasible counterexamples and detect convergence to a proof. We show that for programs and properties over a decidable theory, the algorithm is guaranteed to find a counterexample, if one exists. However, efficiency depends on an oracle for quantifier elimination (QE). For Boolean programs, the algorithm is a polynomial decision procedure, matching the worst-case bounds of the best BDD-based algorithms. For Linear Arithmetic (integers and rationals), we give an efficient instantiation of the algorithm by applying QE lazily. We use existing interpolation techniques to over-approximate QE and introduce Model Based Projection to under-approximate QE. Empirical evaluation on SV-COMP benchmarks shows that our algorithm improves significantly on the state-of-the-art.
引用
收藏
页码:175 / 205
页数:30
相关论文
共 50 条
  • [21] SMT-based Software Model Checking: An Experimental Comparison of Four Algorithms
    Beyer, Dirk
    Dangl, Matthias
    VERIFIED SOFTWARE: THEORIES, TOOLS, AND EXPERIMENTS, VSTTE 2016, 2016, 9971 : 181 - 198
  • [22] SMT-Based Symbolic Model-Checking for Operator Precedence Languages
    Chiari, Michele
    Geatti, Luca
    Gigante, Nicola
    Pradella, Matteo
    COMPUTER AIDED VERIFICATION, PT I, CAV 2024, 2024, 14681 : 387 - 408
  • [23] On the Combination of Polyhedral Abstraction and SMT-Based Model Checking for Petri Nets
    Amat, Nicolas
    Berthomieu, Bernard
    Dal Zilio, Silvano
    APPLICATION AND THEORY OF PETRI NETS AND CONCURRENCY (PETRI NETS 2021), 2021, 12734 : 164 - 185
  • [24] SMT-Based Bounded Model Checking of Embedded Assembly Program with Interruptions
    Uemura, Kousuke
    Yamane, Satoshi
    IEEE 17TH INT CONF ON DEPENDABLE, AUTONOM AND SECURE COMP / IEEE 17TH INT CONF ON PERVAS INTELLIGENCE AND COMP / IEEE 5TH INT CONF ON CLOUD AND BIG DATA COMP / IEEE 4TH CYBER SCIENCE AND TECHNOLOGY CONGRESS (DASC/PICOM/CBDCOM/CYBERSCITECH), 2019, : 633 - 639
  • [25] Checking WELTLK Properties of Weighted Interpreted Systems via SMT-Based Bounded Model Checking
    Zbrzezny, Agnieszka M.
    Zbrzezny, Andrzej
    PRIMA 2015: PRINCIPLES AND PRACTICE OF MULTI-AGENT SYSTEMS, 2015, 9387 : 660 - 669
  • [26] Counterexample Generation for Markov Chains Using SMT-Based Bounded Model Checking
    Braitling, Bettina
    Wimmer, Ralf
    Becker, Bernd
    Jansen, Nils
    Abraham, Erika
    FORMAL TECHNIQUES FOR DISTRIBUTED SYSTEMS, 2011, 6722 : 75 - 89
  • [27] SMT-Based Checking of SOLOIST over Sparse Traces
    Bersani, Marcello Maria
    Bianculli, Domenico
    Ghezzi, Carlo
    Krstic, Srdan
    San Pietro, Pierluigi
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2014, 2014, 8411 : 276 - 290
  • [28] An SMT-Based Approach to Bounded Model Checking of Designs in State Transition Matrix
    Kong, Weiqiang
    Shiraishi, Tomohiro
    Katahira, Noriyuki
    Watanabe, Masahiko
    Katayama, Tetsuro
    Fukuda, Akira
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2011, E94D (05): : 946 - 957
  • [29] Improved SMT-based bounded model checking for real-time systems
    Xu L.
    Ruan Jian Xue Bao/Journal of Software, 2010, 21 (07): : 1491 - 1502
  • [30] Completeness in SMT-based BMC for software programs
    Ganai, Malay K.
    Gupta, Aarti
    2008 DESIGN, AUTOMATION AND TEST IN EUROPE, VOLS 1-3, 2008, : 710 - 715