Towards an Automatic Proof of Lamport's Paxos

08/19/2021
by   Aman Goel, et al.
0

Lamport's celebrated Paxos consensus protocol is generally viewed as a complex hard-to-understand algorithm. Notwithstanding its complexity, in this paper, we take a step towards automatically proving the safety of Paxos by taking advantage of three structural features in its specification: spatial regularity in its unordered domains, temporal regularity in its totally-ordered domain, and its hierarchical composition. By carefully integrating these structural features in IC3PO, a novel model checking algorithm, we were able to infer an inductive invariant that identically matches the human-written one previously derived with significant manual effort using interactive theorem proving. While various attempts have been made to verify different versions of Paxos, to the best of our knowledge, this is the first demonstration of an automatically-inferred inductive invariant for Lamport's original Paxos specification. We note that these structural features are not specific to Paxos and that IC3PO can serve as an automatic general-purpose protocol verification tool.

READ FULL TEXT
research
09/24/2021

Formal Verification of a Distributed Dynamic Reconfiguration Protocol

We present a formal, machine checked TLA+ safety proof of MongoRaftRecon...
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
05/25/2020

Towards United Reasoning for Automatic Induction in Isabelle/HOL

Inductive theorem proving is an important long-standing challenge in com...
research
05/19/2019

Inferring Inductive Invariants from Phase Structures

Infinite-state systems such as distributed protocols are challenging to ...
research
07/08/2019

APML: An Architecture Proof Modeling Language

To address the increasing size and complexity of modern software systems...
research
03/05/2018

Teaching the Formalization of Mathematical Theories and Algorithms via the Automatic Checking of Finite Models

Education in the practical applications of logic and proving such as the...
research
02/28/2023

Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

Choreographic programming is a paradigm where developers write the globa...

Please sign up or login with your details

Forgot password? Click here to reset