Efficient Linearizability Checking for Actor-based Systems
Mohammed S. Al-Mahfoudh, Ryan Stutsman, Ganesh Gopalakrishnan

TL;DR
This paper introduces DS2, a framework for efficiently verifying linearizability in actor-based distributed systems by comparing concurrent executions to simple sequential models, aiding developers in bug detection.
Contribution
The work presents a novel, automated approach for linearizability checking in actor systems, simplifying validation without complex specifications and improving bug detection through refined schedule exploration algorithms.
Findings
DS2 effectively detects bugs in distributed actor algorithms.
Refined schedule enumeration algorithms improve bug-finding efficiency.
Validation against literature algorithms demonstrates DS2's practical utility.
Abstract
Recent demand for distributed software had led to a surge in popularity in actor-based frameworks. However, even with the stylized message passing model of actors, writing correct distributed software is still difficult. We present our work on linearizability checking in DS2, an integrated framework for specifying, synthesizing, and testing distributed actor systems. The key insight of our approach is that often subcomponents of distributed actor systems represent common algorithms or data structures (e.g.\ a distributed hash table or tree) that can be validated against a simple sequential model of the system. This makes it easy for developers to validate their concurrent actor systems without complex specifications. DS2 automatically explores the concurrent schedules that system could arrive at, and it compares observed output of the system to ensure it is equivalent to what the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Distributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques
