Inferring Inductive Invariants from Phase Structures

05/19/2019
by   Yotam M. Y. Feldman, et al.
0

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.

READ FULL TEXT
research
05/12/2022

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

We present a new technique for automatically inferring inductive invaria...
research
11/13/2019

Decidable Inductive Invariants for Verification of Cryptographic Protocols with Unbounded Sessions

We develop a theory of decidable inductive invariants for an infinite-st...
research
10/19/2017

Paxos Made EPR: Decidable Reasoning about Distributed Protocols

Distributed protocols such as Paxos play an important role in many compu...
research
11/28/2022

Automating and Mechanizing Cutoff-based Verification of Distributed Protocols

Distributed protocols are generally parametric and can be executed on a ...
research
03/27/2021

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

Proving that an unbounded distributed protocol satisfies a given safety ...
research
08/19/2021

Towards an Automatic Proof of Lamport's Paxos

Lamport's celebrated Paxos consensus protocol is generally viewed as a c...
research
03/07/2019

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