Bringing Back-in-Time Debugging Down to the Database
Arian Treffer, Michael Perscheid, Matthias Uflacker

TL;DR
This paper introduces TARDISP, a back-in-time debugger for SAP HANA databases that enables developers to step queries backwards and inspect past database states efficiently, addressing a gap in database-level debugging tools.
Contribution
The paper presents a novel back-in-time debugging approach for databases, including a SQL extension and implementation for SAP HANA, enabling temporal query inspection with low overhead.
Findings
Effective backward stepping in SAP HANA demonstrated
Low performance and memory overhead achieved
Positive developer feedback from SAP project evaluation
Abstract
With back-in-time debuggers, developers can explore what happened before observable failures by following infection chains back to their root causes. While there are several such debuggers for object-oriented programming languages, we do not know of any back-in-time capabilities at the database-level. Thus, if failures are caused by SQL scripts or stored procedures, developers have difficulties in understanding their unexpected behavior. In this paper, we present an approach for bringing back-in-time debugging down to the SAP HANA in-memory database. Our TARDISP debugger allows developers to step queries backwards and inspecting the database at previous and arbitrary points in time. With the help of a SQL extension, we can express queries covering a period of execution time within a debugging session and handle large amounts of data with low overhead on performance and memory. The…
Click any figure to enlarge with its caption.
Figure 1Peer 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 Testing and Debugging Techniques · Software System Performance and Reliability · Software Engineering Research
