Skip to main navigation Skip to search Skip to main content

Global guidance for local generalization in model checking

  • Hari Govind Vediramana Krishnan
  • , Yu Ting Chen
  • , Sharon Shoham
  • , Arie Gurfinkel

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Pages (from-to)81-109
Number of pages29
JournalFormal Methods in System Design
Volume63
Issue number1-3
DOIs
StatePublished - Oct 2024

Keywords

  • Automatic program verification
  • Constrained horn clauses
  • Interpolation
  • Model checking

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'Global guidance for local generalization in model checking'. Together they form a unique fingerprint.

Cite this