HackerPapers

arXiv:1710.07191cs.PL

Paxos Made EPR: Decidable Reasoning about Distributed Protocols

Oded Padon, Giuliano Losa, Mooly Sagiv, Sharon Shoham

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

Abstract

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.

arXiv comments
61 pages. Full version of paper by the same title presented in OOPSLA 2017
Journal reference
DOI
Subjects
cs.PLProgramming Languages cs.DCDistributed, Parallel, and Cluster Computing cs.LOLogic in Computer Science

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Apr 2025 to Apr 2025.

Comments linking this paper, per year.

Discussed in comments1 thread

    • Spin is a great learning tool. Spin is so much more accessible than TLA+ Toolbox, for instance. But for really serious work, there are much more modern approaches that exploit SMT solvers like Z3 (as TLA+ does) for vastly more powerful model checking than Spin offers. Also, the…

      spin_fanView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.