Object-Centric Time-Travel Debugging: Exploring Traces of Objects

Authors:
Christoph Thiede, Marcel Taeumel, Robert Hirschfeld
Published:
In <Programming> '23 Companion: Companion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming. March 13, 2023.
Abstract:

Traditional behavior-centric debuggers are organized around an extensive call stack, making it hard for programmers to navigate and explore large programs. We present object traces, a novel, object-centric approach to time-travel debugging that enables programmers to directly interact with recorded states of objects and explore their evolution in a simplified call tree. Our approach allows programmers to send messages to the object trace to ask questions of different granularity, from single variable values to custom representations of object graphs. We demonstrate practicability by applying it to the TraceDebugger, a time-travel debugger for Squeak/Smalltalk. We examine the practical opportunities and limitations of object traces and suggest directions for future work.

BibTeX:
@inproceedings{thiede2023,
  title = {{Object-Centric Time-Travel Debugging}},
  author = {Christoph Thiede and Marcel Taeumel and Robert Hirschfeld},
  booktitle = {<Programming> '23 Companion: Companion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming},
  year = 2023,
  doi = {10.1145/3594671.3594678},
}