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 条
  • [1] SMT-based model checking for recursive programs
    Komuravelli, Anvesh
    Gurfinkel, Arie
    Chaki, Sagar
    FORMAL METHODS IN SYSTEM DESIGN, 2016, 48 (03) : 175 - 205
  • [2] SMT-Based Model Checking for Recursive Programs
    Komuravelli, Anvesh
    Gurfinkel, Arie
    Chaki, Sagar
    COMPUTER AIDED VERIFICATION, CAV 2014, 2014, 8559 : 17 - 34
  • [3] Efficient Modular SMT-Based Model Checking of Pointer Programs
    Garcia-Contreras, Isabel
    Gurfinkel, Arie
    Navas, Jorge A.
    STATIC ANALYSIS, SAS 2022, 2022, 13790 : 227 - 246
  • [4] SMT-Based Bounded Model Checking of C plus plus Programs
    Ramalho, Mikhail
    Freitas, Mauro
    Sousa, Felipe
    Marques, Hendrio
    Cordeiro, Lucas
    Fischer, Bernd
    2013 20TH ANNUAL IEEE INTERNATIONAL CONFERENCE AND WORKSHOPS ON THE ENGINEERING OF COMPUTER BASED SYSTEMS (ECBS 2013), 2013, : 147 - 156
  • [5] SMT-Based Software Model Checking
    Cimatti, Alessandro
    MODEL CHECKING SOFTWARE, 2010, 6349 : 1 - 3
  • [6] SMT-based context-bounded model checking for CUDA programs
    Pereira, Phillipe
    Albuquerque, Higo
    da Silva, Isabela
    Marques, Hendrio
    Monteiro, Felipe
    Ferreira, Ricardo
    Cordeiro, Lucas
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2017, 29 (22):
  • [7] SMT-Based Unbounded Model Checking for ATL
    Kanski, Michal
    Niewiadomski, Artur
    Kacprzak, Magdalena
    Penczek, Wojciech
    Nabialek, Wojciech
    VERIFICATION AND EVALUATION OF COMPUTER AND COMMUNICATION SYSTEMS (VECOS 2021), 2022, 13187 : 43 - 58
  • [8] Light-Weight SMT-based Model Checking
    Ghilardi, Silvio
    Ranise, Silvio
    Valsecchi, Thomas
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 250 (02) : 85 - 102
  • [9] Checking RTECTL Properties of STSs via SMT-Based Bounded Model Checking
    Zbrzezny, Agnieszka M.
    Zbrzezny, Andrzej
    DISTRIBUTED COMPUTING AND ARTIFICIAL INTELLIGENCE, 12TH INTERNATIONAL CONFERENCE, 2015, 373 : 55 - 62
  • [10] SMT-based Bounded Model Checking for OSEK/VDX Applications
    Zhang, Haitao
    Aoki, Toshiaki
    Lin, Hsin-Hung
    Zhang, Min
    Chiba, Yuki
    Yatake, Kenro
    2013 20TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2013), VOL 1, 2013, : 307 - 314