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 条
  • [41] Verifying OSEK/VDX Applications: An Optimized SMT-based Bounded Model Checking Approach
    Zhang, Haitao
    Cheng, Zhuo
    Tian, Cong
    Lu, Yonggang
    Li, Guoqiang
    2016 IEEE/ACIS 15TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE (ICIS), 2016, : 615 - 620
  • [42] An SMT-Based Concolic Testing Tool for Logic Programs
    Fortz, Sophie
    Mesnard, Fred
    Payet, Etienne
    Perrouin, Gilles
    Vanhoof, Wim
    Vidal, German
    FUNCTIONAL AND LOGIC PROGRAMMING, FLOPS 2020, 2020, 12073 : 215 - 219
  • [43] An SMT-Based Approach to the Verification of Knowledge-Based Programs
    Belardinelli, Francesco
    Boureanu, Ioana
    Malvone, Vadim
    Rajaona, Fortunat
    FORMAL ASPECTS OF COMPUTING, 2025, 37 (01)
  • [44] Harnessing SMT-Based Bounded Model Checking through Stateless Explicit-State Exploration
    Kong, Weiqiang
    Liu, Leyuan
    Ando, Takahiro
    Yatsu, Hirokazu
    Hisazumi, Kenji
    Fukuda, Akira
    2013 20TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2013), VOL 1, 2013, : 355 - 362
  • [45] Checking WECTLK Properties of Timed Real-Weighted Interpreted Systems via SMT-Based Bounded Model Checking
    Zbrzezny, Agnieszka M.
    Zbrzezny, Andrzej
    PROGRESS IN ARTIFICIAL INTELLIGENCE-BK, 2015, 9273 : 638 - 650
  • [46] SMT-based Safety Checking of Parameterized Multi-Agent Systems
    Felli, Paolo
    Gianola, Alessandro
    Montali, Marco
    THIRTY-FIFTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THIRTY-THIRD CONFERENCE ON INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE AND THE ELEVENTH SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2021, 35 : 6321 - 6330
  • [47] LTL Model Checking for Recursive Programs
    Huang, Geng-Dian
    Cai, Lin-Zan
    Wang, Farn
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2009, 5799 : 382 - 396
  • [48] Formal Verification of Software Designs in Hierarchical State Transition Matrix with SMT-based Bounded Model Checking
    Kong, Weiqiang
    Katahira, Noriyuki
    Watanabe, Masahiko
    Katayama, Tetsuro
    Hisazumi, Kenji
    Fukuda, Akira
    2011 18TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2011), 2011, : 81 - 88
  • [49] SMT-Based Automatic Proof of ASM Model Refinement
    Arcaini, Paolo
    Gargantini, Angelo
    Riccobene, Elvinia
    SOFTWARE ENGINEERING AND FORMAL METHODS: 14TH INTERNATIONAL CONFERENCE, SEFM 2016, 2016, 9763 : 253 - 269
  • [50] Verifying Multi-threaded Software using SMT-based Context-Bounded Model Checking
    Cordeiro, Lucas
    Fischer, Bernd
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 331 - 340