SEJan 19, 2017

Bringing Back-in-Time Debugging Down to the Database

arXiv:1701.05327v12 citations
Originality Incremental advance
AI Analysis

This addresses a gap in debugging tools for database-level failures, specifically for developers working with SQL scripts or stored procedures, though it is incremental as it extends existing back-in-time debugging concepts to a new domain.

The paper tackles the problem of debugging failures caused by SQL scripts or stored procedures in databases by introducing a back-in-time debugger for the SAP HANA in-memory database, allowing developers to step queries backwards and inspect database states at arbitrary points in time with low overhead.

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 entire approach has been evaluated within a development project at SAP and shows promising results with respect to the gathered developer feedback.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes