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 条
  • [31] SMT-Based Bounded Model Checking for Embedded ANSI-C Software
    Cordeiro, Lucas
    Fischer, Bernd
    Marques-Silva, Joao
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (04) : 957 - 974
  • [32] SMT-Based Bounded Model Checking of Fixed-Point Digital Controllers
    Bessa, Iury
    Abreu, Renato
    Edgar Filho, Joao
    Cordeiro, Lucas
    IECON 2014 - 40TH ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY, 2014, : 295 - 301
  • [33] A Polyhedral Abstraction for Petri Nets and its Application to SMT-Based Model Checking
    Amat, Nicolas
    Berthomieu, Bernard
    Dal Zilio, Silvano
    FUNDAMENTA INFORMATICAE, 2022, 187 (2-4) : 103 - 138
  • [34] SMT-Based Bounded Model Checking for Embedded ANSI-C Software
    Cordeiro, Lucas
    Fischer, Bernd
    Marques-Silva, Joao
    2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 137 - 148
  • [35] Kratos2: An SMT-Based Model Checker for Imperative Programs
    Griggio, Alberto
    Jonas, Martin
    COMPUTER AIDED VERIFICATION, CAV 2023, PT III, 2023, 13966 : 423 - 436
  • [36] Verifying cooperative software: A SMT-based bounded model checking approach for deterministic scheduler
    Zhang, Haitao
    Li, Guoqiang
    Sun, Daniel
    Lu, Yonggang
    Hsu, Ching-Hsien
    JOURNAL OF SYSTEMS ARCHITECTURE, 2017, 81 : 7 - 16
  • [37] SMT-Based Reachability Checking for Bounded Time Petri Nets
    Polrola, Agata
    Cybula, Piotr
    Meski, Artur
    FUNDAMENTA INFORMATICAE, 2014, 135 (04) : 467 - 482
  • [38] SMT-Based Checking of Predicate-Qualified Types for Scala
    Schmid, Georg Stefan
    Kuncak, Viktor
    SCALA'16: PROCEEDINGS OF THE 2016 7TH ACM SIGPLAN SYMPOSIUM ON SCALA, 2016, : 31 - 40
  • [39] SMT-Based Consistency Checking of Configuration-Based Components Specifications
    Pandolfo, Laura
    Pulina, Luca
    Vuotto, Simone
    IEEE ACCESS, 2021, 9 (09): : 83718 - 83726
  • [40] SMT-based Bounded Model Checking for Weighted Interpreted Systems and for Weighted Epistemic ECTL
    Zbrzezny, Agnieszka M.
    Wozna-Szczesniak, Bozena
    Zbrzezny, Andrzej
    PROCEEDINGS OF THE 2015 INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS & MULTIAGENT SYSTEMS (AAMAS'15), 2015, : 1671 - 1672