Scalable omniscient debugging

G Pothier, É Tanter, J Piquer - ACM SIGPLAN Notices, 2007 - dl.acm.org
G Pothier, É Tanter, J Piquer
ACM SIGPLAN Notices, 2007dl.acm.org
Omniscient debuggers make it possible to navigate backwards in time within a program
execution trace, drastically improving the task of debugging complex applications. Still, they
are mostly ignored in practice due to the challenges raised by the potentially huge size of
the execution traces. This paper shows that omniscient debugging can be realistically
realized through the use of different techniques addressing efficiency, scalability and
usability. We present TOD, a portable Trace-Oriented Debugger for Java, which combines …
Omniscient debuggers make it possible to navigate backwards in time within a program execution trace, drastically improving the task of debugging complex applications. Still, they are mostly ignored in practice due to the challenges raised by the potentially huge size of the execution traces. This paper shows that omniscient debugging can be realistically realized through the use of different techniques addressing efficiency, scalability and usability. We present TOD, a portable Trace-Oriented Debugger for Java, which combines an efficient instrumentation for event generation, a specialized distributed database for scalable storage and efficient querying, support for partial traces in order to reduce the trace volume to relevant events, and innovative interface components for interactive trace navigation and analysis in the development environment. Provided a reasonable infrastructure, the performance of TOD allows a responsive debugging experience in the face of large programs.
ACM Digital Library