Transactions Make Debugging Easy
Qian Li, Peter Kraft, Michael Cafarella, \c{C}a\u{g}atay, Demiralp, Goetz Graefe, Christos Kozyrakis, Michael Stonebraker and, Lalith Suresh, Matei Zaharia

TL;DR
TROD introduces a transaction-based debugging framework for distributed web applications, enabling retroactive testing and simplified debugging by leveraging transaction logs and state tracing.
Contribution
It presents a novel transaction-oriented approach that uses lightweight tracing and logs to facilitate debugging and testing of distributed applications retroactively.
Findings
Enables faithful replay of past application states
Simplifies debugging in production environments
Encourages rethinking development and debugging synergy
Abstract
We propose TROD, a novel transaction-oriented framework for debugging modern distributed web applications and online services. Our critical insight is that if applications store all state in databases and only access state transactionally, TROD can use lightweight always-on tracing to track the history of application state changes and data provenance, and then leverage the captured traces and transaction logs to faithfully replay or even test modified code retroactively on any past event. We demonstrate how TROD can simplify programming and debugging in production applications, list several research challenges and directions, and encourage the database and systems communities to drastically rethink the synergy between the way people develop and debug applications.
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
TopicsSoftware System Performance and Reliability · Distributed systems and fault tolerance · Scientific Computing and Data Management
