Induction duality: Primal-dual search for invariants

Oded Padon, James R. Wilcox, Jason R. Koenig, Kenneth L. McMillan, Alex Aiken

Research output: Contribution to journalArticlepeer-review

Abstract

Many invariant inference techniques reason simultaneously about states and predicates, and it is well-known that these two kinds of reasoning are in some sense dual to each other. We present a new formal duality between states and predicates, and use it to derive a new primal-dual invariant inference algorithm. The new induction duality is based on a notion of provability by incremental induction that is formally dual to reachability, and the duality is surprisingly symmetric. The symmetry allows us to derive the dual of the well-known Houdini algorithm, and by combining Houdini with its dual image we obtain primal-dual Houdini, the first truly primal-dual invariant inference algorithm. An early prototype of primal-dual Houdini for the domain of distributed protocol verification can handle difficult benchmarks from the literature.

Original languageEnglish
Article number50
Number of pages29
JournalProceedings of the ACM on Programming Languages
Volume6
Issue numberPOPL
DOIs
StatePublished - Jan 2022
Externally publishedYes

Keywords

  • Houdini
  • IC3
  • counterexample-guided abstraction refinement
  • induction duality
  • invariant inference
  • primal-dual Houdini
  • property directed reachability

All Science Journal Classification (ASJC) codes

  • Software
  • Safety, Risk, Reliability and Quality

Cite this