Abstract

Threshold automata are a formalism introduced for modeling, verification, and synthesis of fault-tolerant distributed algorithms for asynchronous systems, that is, in interleaving semantics. Owing to well-known limitations of what can be achieved in purely asynchronous systems, many fault-tolerant distributed algorithms are designed for synchronous or round-based semantics. In this paper, we introduce the synchronous variant of threshold automata and study their applicability and limitations for the verification of synchronous fault-tolerant distributed algorithms. We show that the parameterized reachability problem for synchronous threshold automata is undecidable. Still, we show that many synchronous fault-tolerant distributed algorithms have a bounded diameter, even though the algorithms are parameterized by the number of processes. Hence, bounded model checking can be used for verifying these algorithms. The existence of bounded diameters is the main conceptual insight in this paper. We compute the diameter of several algorithms and check their safety properties, using SMT queries that contain quantifiers for dealing with the parameters symbolically. Surprisingly, performance of the SMT solvers on these queries is very good, reflecting the recent progress in dealing with quantified queries. We found that the diameter bounds of synchronous algorithms in the literature are tiny (from 1 to 8), which makes our approach applicable in practice. For a specific class of algorithms, we also establish a theoretical result on the existence of a diameter, providing a first explanation for our experimental results.

Highlights

  • Fault-tolerant distributed algorithms are hard to design and verify

  • We introduce the syntax of synchronous threshold automata and give some intuition of the semantics, which we will formalize as counter systems below

  • The algorithms that we model using Synchronous Threshold Automata (STA) and verify by bounded model checking are designed for different fault models, which in our case are crashes, send omissions or Byzantine faults

Read more

Summary

Introduction

Threshold automata were introduced to model, verify and synthesize asynchronous fault-tolerant distributed algorithms [19,21,24]. We introduce synchronous threshold automata, and investigate their applicability and limitations for verification of synchronous fault-tolerant distributed algorithms. An example of such a synchronous threshold automaton is given in Fig. 1 on the right; it encodes the synchronous reliable broadcast algorithm from [32]. Synchronous Threshold Automata (STA) model synchronous fault-tolerant distributed algorithms as follows. This algorithm is designed to tolerate Byzantine-faulty processes, which may send spurious messages to some correct processes. By tweaking the constraints on the parameters n, t, f , we introduce configurations with more faults than expected, for which our technique automatically finds a counterexample

Overview of Our Approach
Synchronous Threshold Automata
Parameterized Reachability and Its Undecidability
Computing the Diameter Using SMT
Bounded Diameter for a Fragment of STA
Bounded Model Checking of Safety Properties
Experimental Evaluation
Findings
Discussion and Related
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call