Parameterized Reasoning for Distributed Systems with Consensus

04/09/2020
by   Nouraldin Jaber, et al.
0

Programmers make building distributed systems tractable by using a wide variety of abstractions to compose complex systems out of smaller components—for example, managing coordination between distributed processes using libraries that provide locking or consensus. Unfortunately, verification techniques for distributed systems typically do not match this style of programming, and modeling distributed systems often requires erasing these layers of abstraction to represent an entire program as a monolithic whole. This paper presents a new approach to automatically verifying distributed systems that use consensus as a component. We first define a new system model that offers a carefully designed consensus abstraction to provide global semantics for consensus while eliding specific algorithmic details. We then present a sound and relatively complete parameterized verification procedure for safety properties of distributed systems that use consensus. We further show how to use this procedure to synthesize correct systems given partial process definitions. We build a tool, Treaty, and show on several case studies that we are able to successfully synthesize and verify distributed systems that build on consensus without having to reason directly about the internals of consensus.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/24/2021

The Problem of Distributed Consensus: A Survey

A survey is given of approaches to the problem of distributed consensus,...
research
04/25/2022

Parameterized safety verification of round-based shared-memory systems

We consider the parameterized verification problem for distributed algor...
research
04/20/2020

Characterizing consensus in the Heard-Of model

The Heard-Of model is a simple and relatively expressive model of distri...
research
08/31/2020

Lecture Notes on Leader-based Sequence Paxos – An Understandable Sequence Consensus Algorithm

Agreement among a set of processes and in the presence of partial failur...
research
08/26/2022

Synthesis of Distributed Agreement-Based Systems with Efficiently-Decidable Verification (Extended Version)

Distributed agreement-based (DAB) systems use common distributed agreeme...
research
12/02/2021

CEV Framework: A Central Bank Digital Currency Evaluation and Verification Framework with Focus of Consensus Algorithms and Operating Models

We propose a general framework (CEV Framework) for recommending and veri...
research
03/07/2019

Local Reasoning for Parameterized First Order Protocols

First Order Logic (FOL) is a powerful reasoning tool for program verific...

Please sign up or login with your details

Forgot password? Click here to reset