Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn about a novel coverage-guided testing algorithm for distributed systems implementations that leverages abstract formal models to define coverage metrics. Discover how this innovative approach uses TLA+ models, typically developed during early protocol design phases, to guide random test generation and effectively explore implementation state spaces. Explore the implementation of a specialized fuzzer that demonstrates superior coverage compared to purely random exploration and scheduler coverage-guided methods. Examine practical applications on distributed consensus protocols including Two-Phase Commit, Raft implementations in Etcd-raft, and RedisRaft, where the technique achieves consistently higher coverage and faster bug detection. Understand how this model-guided approach discovered 12 previously unknown bugs in real implementations, with four bugs detectable only through this specific fuzzing methodology. Gain insights into the intersection of formal verification and practical testing, demonstrating how abstract models can bridge the gap between theoretical protocol design and implementation validation in distributed systems.
Syllabus
[OOPSLA'25] Model-guided Fuzzing of Distributed Systems
Taught by
ACM SIGPLAN