Paxos Made EPR: Decidable Reasoning about Distributed Protocols

10/19/2017
by   Oded Padon, et al.
0

Distributed protocols such as Paxos play an important role in many computer systems. Therefore, a bug in a distributed protocol may have tremendous effects. Accordingly, a lot of effort has been invested in verifying such protocols. However, checking invariants of such protocols is undecidable and hard in practice, as it requires reasoning about an unbounded number of nodes and messages. Moreover, protocol actions and invariants involve both quantifier alternations and higher-order concepts such as set cardinalities and arithmetic. This paper makes a step towards automatic verification of such protocols. We aim at a technique that can verify correct protocols and identify bugs in incorrect protocols. To this end, we develop a methodology for deductive verification based on effectively propositional logic (EPR)---a decidable fragment of first-order logic (also known as the Bernays-Schönfinkel-Ramsey class). In addition to decidability, EPR also enjoys the finite model property, allowing to display violations as finite structures which are intuitive for users. Our methodology involves modeling protocols using general (uninterpreted) first-order logic, and then systematically transforming the model to obtain a model and an inductive invariant that are decidable to check. The steps of the transformations are also mechanically checked, ensuring the soundness of the method. We have used our methodology to verify the safety of Paxos, and several of its variants, including Multi-Paxos, Vertical Paxos, Fast Paxos, Flexible Paxos and Stoppable Paxos. To the best of our knowledge, this work is the first to verify these protocols using a decidable logic, and the first formal verification of Vertical Paxos, Fast Paxos and Stoppable Paxos.

READ FULL TEXT

page 1

page 2

page 3

page 4

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
05/19/2019

Inferring Inductive Invariants from Phase Structures

Infinite-state systems such as distributed protocols are challenging to ...
research
05/19/2019

Verification of Threshold-Based Distributed Algorithms by Decomposition to Decidable Logics

Verification of fault-tolerant distributed protocols is an immensely dif...
research
06/02/2000

Knowledge and common knowledge in a distributed environment

Reasoning about knowledge seems to play a fundamental role in distribute...
research
05/12/2022

Bounded Verification of Doubly-Unbounded Distributed Agreement-Based Systems

The ubiquity of distributed agreement protocols, such as consensus, has ...
research
03/07/2019

Local Reasoning for Parameterized First Order Protocols

First Order Logic (FOL) is a powerful reasoning tool for program verific...
research
03/08/2023

Automatic verification of transparency protocols (extended version)

We introduce new features in ProVerif, an automatic tool for verifying s...

Please sign up or login with your details

Forgot password? Click here to reset