Affiliation:
1. University of California at Berkeley, USA / University of Wisconsin-Madison, USA
2. Amazon Web Services, USA
3. Princeton University, USA
Abstract
Verification of distributed systems using systematic exploration is daunting because of the many possible interleavings of messages and failures.
When faced with this scalability challenge, existing approaches have traditionally mitigated state space explosion by avoiding exploration of redundant states (e.g., via state hashing) and redundant interleavings of transitions (e.g., via partial-order reductions).
In this paper, we present an efficient symbolic exploration method that not only avoids redundancies in states and interleavings, but additionally
avoids redundant computations that are performed during updates to states on transitions.
Our symbolic explorer leverages a novel, fine-grained, canonical representation of distributed system configurations (states) to identify opportunities for avoiding such redundancies on-the-fly.
The explorer also includes an interface that is compatible with abstractions for state-space reduction and with partial-order and other reductions for avoiding redundant interleavings.
We implement our approach in the tool Psym and empirically demonstrate that it outperforms a state-of-the-art exploration tool, can successfully verify many common distributed protocols, and can scale to multiple real-world industrial case studies across
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software