paper

DissProve: Automated Verification of Asynchronous Distributed Protocols with Affine Communication

arXiv:2606.24003

Abstract

We consider the problem of automatically proving safety properties of distributed protocols. Distributed protocols have been particularly challenging for automated verification due to their asynchronous and parametric nature. Compared to synchronous systems, asynchronous communication leads to a combinatorial explosion of possible execution histories of message handlers. As distributed protocols are typically defined parametrically on the number of actors, these definitions lead to an unbounded number of possible execution histories of unbounded length. Existing verification techniques for such distributed protocols typically require global invariants about the entire actor system, which are complex even for simple protocols. In this paper, we present an automated verification technique based on proving unreachability backwards from error states in an actor system. One key insight is that the unboundedness from parametricity can be further classified into affine and non-affine protocols, where affine protocols have execution histories of unbounded length in a bounded number of communication rounds. We show how to use novel, goal-directed notions of materialization, causality, and summarization to verify safety properties of affine protocols with an unbounded numberof actors in an automated manner. Using our verification tool DissProve, we demonstrate the feasibility of fully-automated safety verification of asynchronous distributed protocols, including Two-Phase Commit and Leader Election.

Updated/Replaced with POPL revision

DissProve: Automated Verification of Asynchronous Distributed Protocols with Affine Communication · wovepaper