Inferring Inductive Invariants from Phase Structures

by   Yotam M. Y. Feldman, et al.

Infinite-state systems such as distributed protocols are challenging to verify using interactive theorem provers or automatic verification tools. Of these techniques, deductive verification is highly expressive but requires the user to annotate the system with inductive invariants. To relieve the user from this labor-intensive and challenging task, invariant inference aims to find inductive invariants automatically. Unfortunately, when applied to infinite-state systems such as distributed protocols, existing inference techniques often diverge, which limits their applicability. This paper proposes user-guided invariant inference based on phase invariants, which capture the different logical phases of the protocol. Users conveys their intuition by specifying a phase structure, an automaton with edges labeled by program transitions; the tool automatically infers assertions that hold in the automaton's states, resulting in a full safety proof.The additional structure from phases guides the inference procedure towards finding an invariant. Our results show that user guidance by phase structures facilitates successful inference beyond the state of the art. We find that phase structures are pleasantly well matched to the intuitive reasoning routinely used by domain experts to understand why distributed protocols are correct, so that providing a phase structure reuses this existing intuition.


Plain and Simple Inductive Invariant Inference for Distributed Protocols in TLA+

We present a new technique for automatically inferring inductive invaria...

Decidable Inductive Invariants for Verification of Cryptographic Protocols with Unbounded Sessions

We develop a theory of decidable inductive invariants for an infinite-st...

Paxos Made EPR: Decidable Reasoning about Distributed Protocols

Distributed protocols such as Paxos play an important role in many compu...

Automating and Mechanizing Cutoff-based Verification of Distributed Protocols

Distributed protocols are generally parametric and can be executed on a ...

On Symmetry and Quantification: A New Approach to Verify Distributed Protocols

Proving that an unbounded distributed protocol satisfies a given safety ...

Towards an Automatic Proof of Lamport's Paxos

Lamport's celebrated Paxos consensus protocol is generally viewed as a c...

Invariant Safety for Distributed Applications

We study a proof methodology for verifying the safety of data invariants...

Please sign up or login with your details

Forgot password? Click here to reset