A Graphical Interactive Debugger for Distributed Systems
Doug Woos, Zachary Tatlock, Michael D. Ernst, Thomas E. Anderson

TL;DR
Oddity is an interactive graphical debugger designed for distributed systems, enabling fine-grained control, failure simulation, and time travel to facilitate debugging and understanding complex distributed behaviors.
Contribution
It introduces a novel debugger that allows direct control over message delivery, failures, and execution branching in distributed systems, enhancing debugging and exploratory testing capabilities.
Findings
Students found Oddity useful for debugging and testing
Oddity effectively simulates failure scenarios and message reorderings
The tool promotes better understanding of distributed systems concepts
Abstract
Designing and debugging distributed systems is notoriously difficult. The correctness of a distributed system is largely determined by its handling of failure scenarios. The sequence of events leading to a bug can be long and complex, and it is likely to include message reorderings and failures. On single-node systems, interactive debuggers enable stepping through an execution of the program, but they lack the ability to easily simulate failure scenarios and control the order in which messages are delivered. Oddity is a graphical, interactive debugger for distributed systems. It brings the power of traditional step-through debugging---fine-grained control and observation of a program as it executes---to distributed systems. It also enables exploratory testing, in which an engineer examines and perturbs the behavior of a system in order to better understand it, perhaps without a…
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 and Parallel Computing Systems · Cloud Computing and Resource Management · Parallel Computing and Optimization Techniques
