English

Bringing Back-in-Time Debugging Down to the Database

Software Engineering 2017-01-20 v1

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