Monarch: A Fuzzing Framework for Distributed File Systems
summary
MONARCH builds a push-button fuzzer that tests POSIX DFSes across VMs with deterministic fault injection at syscall granularity, unified cross-node coverage collection, and replayable executions. Key pieces are a multi-node fuzzing architecture, a two-step mutator that generates syscall sequences plus injected distributed faults, and the SYMSC semantic checker that serializes concurrent operations to validate observed states. Evaluation runs on six real DFSes uncover 48 bugs (including one present since initial release) and several server-side concurrency/consistency faults.
AI-written summary · about
chapters (8)
- 0:00Monarch framework intro
- 3:55Local fuzzer limitations
- 7:09Distributed fuzzing architecture
- 9:17Testing modes
- 10:24Fault injection
- 12:11Semantic bug detection
- 19:58Evaluation and results
- 21:44Conclusion & Q&A
related talks
19mCAFault: Enhance Fault Injection Technique in Practical Distributed Systems via...
12mMonarch: An API To Your Supercomputer
24mMonarch: A Distributed Execution Engine for PyTorch
14mModel-guided Fuzzing of Distributed Systems
19mModulo: Finding Convergence Failure Bugs in Distributed Systems with Divergence...
34mMonarch, Google’s Planet Scale Monitoring Infrastructure
32mFuzzing Nomad with Nomad
13mUpFuzz: Detecting Data Format Incompatibility Bugs during Distributed Storage System...
