Bringing Back-in-Time Debugging Down to the Database
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 entire approach has been evaluated within a development project at SAP and shows promising results with respect to the gathered developer feedback.
Cite
@article{arxiv.1701.05327,
title = {Bringing Back-in-Time Debugging Down to the Database},
author = {Arian Treffer and Michael Perscheid and Matthias Uflacker},
journal= {arXiv preprint arXiv:1701.05327},
year = {2017}
}
Comments
24th IEEE International Conference on Software Analysis, Evolution, and Reengineering