Search papers, labs, and topics across Lattice.
This paper introduces DissProve, an automated verification technique for ensuring the safety of distributed protocols characterized by asynchronous communication and parametric definitions. By classifying protocols into affine and non-affine types, the authors leverage goal-directed materialization, causality, and summarization to effectively manage the combinatorial explosion of execution histories. The results demonstrate that DissProve can successfully verify safety properties for affine protocols with an unbounded number of actors, showcasing its practicality in addressing a significant challenge in distributed systems verification.
Automated verification of distributed protocols can now handle unbounded execution histories, making it feasible to ensure safety in complex systems.
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. And because 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 \emph{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 number of actors in an automated manner. Using our prototype verification tool DissProve, we provide evidence for the feasibility of automated safety verification of asynchronous parametrized systems with affine communication.