Debugging the OmniTable Way
Andrew Quinn, Jason Flinn, Michael J. Cafarella, Baris Kasikci
Abstract
Debugging is time-consuming, accounting for roughly 50% of a developer's time. To identify the cause of a failure, a developer usually tracks the state of their program as it executes on a failing input. Unfortunately, most debugging tools make it difficult for a developer to specify the program state that they wish to observe and computationally expensive to observe execution state. Moreover, existing work to improve our debugging tools often restrict the state that a developer can track by either exposing incomplete execution state or requiring manual instrumentation.
In this paper, we propose an OmniTable, an abstraction that captures all execution state as a large queryable data table. We build a query model around an OmniTable that supports SQL to simplify debugging without restricting the state that a developer can observe: we find that OmniTable debugging queries are more succinct than equivalent logic specified using existing tools. An OmniTable decouples debugging logic from the original execution, which SteamDrill, our prototype, uses to reduce the performance overhead of debugging. The system employs lazy materialization: it uses deterministic record/replay to store the execution associated with each OmniTable and resolves queries by inspecting replay executions. It employs a novel multi-replay strategy that partitions query resolution across multiple replays and a parallel resolution strategy that simultaneously observes state at multiple points-in-time. We find that SteamDrill queries are an order-of-magnitude faster than existing debugging tools.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers8
- Halfmoon: Log-Optimal Fault-Tolerant Stateful Serverless ComputingSheng Qi, Xuanzhe Liu, Xin JinSOSP 2023 · 16 citations
- R3: Record-Replay-Retroaction for Database-Backed ApplicationsQian Li, Peter Kraft, Michael J. Cafarella, Çagatay Demiralp et al.VLDB 2023 · 10 citations
- MeshTest: End-to-End Testing for Service Mesh Traffic ManagementNaiqian Zheng, Tianshuo Qiao, Xuanzhe Liu, Xin JinNSDI 2025 · 7 citations
- Deriving Semantic Checkers from Tests to Detect Silent Failures in Production Distributed SystemsChang Lou, Dimas Shidqi Parikesit, Yujin Huang, Zhewen Yang et al.OSDI 2025 · 6 citations
- Understanding the Linux Kernel, VisuallyHanzhi Liu, Yanyan Jiang, Chang XuEuroSys 2025 · 2 citations
Builds on1
Related papers
- I-Rex: An Interactive Debugger for SQLYihao Hu, Zian Chen, Zhiming Leong, Sharan Sokhi et al.VLDB 2026
- DeSQL: Interactive Debugging of SQL in Data-Intensive Scalable ComputingSabaat Haroon, Chris Brown, Muhammad Ali GulzarFSE 2024 · 2 citations
- Relational Debugging - Pinpointing Root Causes of Performance ProblemsXiang (Jenny) Ren, Sitao Wang, Zhuqi Jin, David Lion et al.OSDI 2023 · 5 citations
- State Machine Guided Multi-Relational Synthetic Data from Logs for Anomaly DetectionAja Khanal, Apurva NarayanKDD 2026
- Debugging Database Queries: A Survey of Tools, Techniques, and UsersSneha Gathani, Peter Lim, Leilani BattleCHI 2020 · 23 citations
