Property-directed incremental invariant generation

  • Authors:
  • Aaron R. Bradley;Zohar Manna

  • Affiliations:
  • Stanford University, Department of Computer Science, Stanford, CA, USA;Stanford University, Department of Computer Science, Stanford, CA, USA

  • Venue:
  • Formal Aspects of Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

A fundamental method of analyzing a system such as a program or a circuit is invariance analysis, in which one proves that an assertion holds on all reachable states. Typically, the proof is performed via induction; however, an assertion, while invariant, may not be inductive (provable via induction). Invariant generation procedures construct auxiliary inductive assertions for strengthening the assertion to be inductive. We describe a general method of generating invariants that is incremental and property-directed. Rather than generating one large auxiliary inductive assertion, our method generates many simple assertions, each of which is inductive relative to those generated before it. Incremental generation is amenable to parallelization. Our method is also property-directed in that it generates inductive assertions that are relevant for strengthening the given assertion. We describe two instances of our method: a procedure for generating clausal invariants of finite-state systems and a procedure for generating affine inequalities of numerical infinite-state systems. We provide evidence that our method scales to checking safety properties of some large finite-state systems.