arXiv · 2604.09301
Tracers for debugging and program exploration
Abstract
Programmers often use an iterative process of hypothesis generation ("perhaps this function is called twice?") and hypothesis testing ("let's count how many times this breakpoint fires") to understand the behavior of unfamiliar or malfunctioning software. Existing debugging tools are much better suited to testing hypotheses than to generating them. Step debuggers, for example, present isolated snapshots of the program's state, leaving it to the programmer to mentally reconstruct the evolution of that state over time. We advocate for a different approach: building a debugging and program-exploration tool around a *trace*, or complete history, of the program's execution. Our key claim is that the user should see every line *as executed* (in time order) rather than *as written* (in syntax order). We discuss design choices, preliminary results, and interesting challenges.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Shardul Chiplunkar, Clément Pit-Claudel. 2026-04-10. Tracers for debugging and program exploration. https://arxiv.org/abs/2604.09301
Cite the original work for its findings. Save a collection to share your selection of sources.