Global guidance for local generalization in model checking
Open Access
- 28 March 2023
- journal article
- research article
- Published by Springer Nature in Formal Methods in System Design
- Vol. 63 (1-3) , 81-109
Abstract
SMT-based model checkers, especially IC3-style ones, are currently the most effective techniques for verification of infinite state systems. They infer global inductive invariants via local reasoning about a single step of the transition relation of a system, while employing SMT-based procedures, such as interpolation, to mitigate the limitations of local reasoning and allow for better generalization. Unfortunately, these mitigations intertwine model checking with heuristics of the underlying SMT-solver, negatively affecting stability of model checking. In this paper, we propose to tackle the limitations of locality in a systematic manner. We introduce explicit global guidance into the local reasoning performed by IC3-style algorithms. To this end, we extend the SMT-IC3 paradigm with three novel rules, designed to mitigate fundamental sources of failure that stem from locality. We instantiate these rules for Linear Integer Arithmetic and Linear Rational Aritmetic and implement them on top of Spacer solver in Z3. Our empirical results show that GSpacer, Spacer extended with global guidance, is significantly more effective than both Spacer and sole global reasoning, and, furthermore, is insensitive to interpolation.Keywords
Funding Information
- European Research Council (SYMCAR 639270)
- European Research Council (759102- SVIS)
- Canadian Network for Research and Innovation in Machining Technology, Natural Sciences and Engineering Research Council of Canada
This publication has 26 references indexed in Scilit:
- SMT-Based Model Checking for Recursive Programs2014
- Beautiful Interpolants2013
- SAT-Based Model Checking without Unrolling2011
- Anti-unification Algorithms and Their Applications in Program Analysis2010
- Generalizing DPLL to Richer Logics2009
- Z3: An Efficient SMT Solver2008
- Lazy Abstraction with Interpolants2006
- Computing convex hulls with a linear solverTheory and Practice of Logic Programming, 2005
- Interpolation and SAT-Based Model Checking2003
- Houdini, an Annotation Assistant for ESC/Java2001