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 language | English |
---|---|
Article number | 50 |
Number of pages | 29 |
Journal | Proceedings of the ACM on Programming Languages |
Volume | 6 |
Issue number | POPL |
DOIs | |
State | Published - Jan 2022 |
Externally published | Yes |
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