English

Automatic Completion of Distributed Protocols with Symmetry

Formal Languages and Automata Theory 2015-05-19 v1 Logic in Computer Science

Abstract

A distributed protocol is typically modeled as a set of communicating processes, where each process is described as an extended state machine along with fairness assumptions, and its correctness is specified using safety and liveness requirements. Designing correct distributed protocols is a challenging task. Aimed at simplifying this task, we allow the designer to leave some of the guards and updates to state variables in the description of extended state machines as unknown functions. The protocol completion problem then is to find interpretations for these unknown functions while guaranteeing correctness. In many distributed protocols, process behaviors are naturally symmetric, and thus, synthesized expressions are further required to obey symmetry constraints. Our counterexample-guided synthesis algorithm consists of repeatedly invoking two phases. In the first phase, candidates for unknown expressions are generated using the SMT solver Z3. This phase requires carefully orchestrating constraints to enforce the desired symmetry in read/write accesses. In the second phase, the resulting completed protocol is checked for correctness using a custom-built model checker that handles fairness assumptions, safety and liveness requirements, and exploits symmetry. When model checking fails, our tool examines a set of counterexamples to safety/liveness properties to generate constraints on unknown functions that must be satisfied by subsequent completions. For evaluation, we show that our prototype is able to automatically discover interesting missing details in distributed protocols for mutual exclusion, self stabilization, and cache coherence.

Keywords

Cite

@article{arxiv.1505.04409,
  title  = {Automatic Completion of Distributed Protocols with Symmetry},
  author = {Rajeev Alur and Mukund Raghothaman and Christos Stergiou and Stavros Tripakis and Abhishek Udupa},
  journal= {arXiv preprint arXiv:1505.04409},
  year   = {2015}
}

Comments

Full version of paper presented at CAV 2015

R2 v1 2026-06-22T09:35:50.165Z