Skip to main navigation Skip to search Skip to main content

Infinite-state invariant checking with IC3 and predicate abstraction

  • Alessandro Cimatti
  • , Alberto Griggio
  • , Sergio Mover
  • , Stefano Tonetta

Research output: Contribution to journalArticlepeer-review

Abstract

We address the problem of verifying invariant properties on infinite-state systems. We present a novel approach, IC3ia, for generalizing the IC3 invariant checking algorithm from finite-state to infinite-state transition systems, expressed over some background theories. The procedure is based on a tight integration of IC3 with Implicit Abstraction, a form of predicate abstraction that expresses abstract paths without computing explicitly the abstract system. In this scenario, IC3 operates only at the Boolean level of the abstract state space, discovering inductive clauses over the abstraction predicates. Theory reasoning is confined within the underlying SMT solver, and applied transparently when performing satisfiability checks. When the current abstraction allows for a spurious counterexample, it is refined by discovering and adding a sufficient set of new predicates. Importantly, this can be done in a completely incremental manner, without discarding the clauses found in the previous search. The proposed approach has two key advantages. First, unlike previous SMT generalizations of IC3, it allows to handle a wide range of background theories without relying on ad-hoc extensions, such as quantifier elimination or theory-specific clause generalization procedures, which might not always be available and are often highly inefficient. Second, compared to a direct exploration of the concrete transition system, the use of abstraction gives a significant performance improvement, as our experiments demonstrate.

Original languageEnglish
Pages (from-to)190-218
Number of pages29
JournalFormal Methods in System Design
Volume49
Issue number3
DOIs
Publication statusPublished - 1 Dec 2016
Externally publishedYes

Keywords

  • IC3
  • Inductive invariants
  • Infinite-state systems
  • Model checking
  • Predicate abstraction
  • SMT

Fingerprint

Dive into the research topics of 'Infinite-state invariant checking with IC3 and predicate abstraction'. Together they form a unique fingerprint.

Cite this