  Debugging is famously one the hardest parts in programming. In this paper, we
tackle the question: what does a debugging environment look like when we take
interactive visualization as a central design principle? We introduce Anteater,
an interactive visualization system for tracing and exploring the execution of
Python programs. Existing systems often have visualization components built on
top of an existing infrastructure. In contrast, Anteater's organization of
trace data enables an intermediate representation which can be leveraged to
automatically synthesize a variety of visualizations and interactions. These
interactive visualizations help with tasks such as discovering important
structures in the execution and understanding and debugging unexpected
behaviors. To assess the utility of Anteater, we conducted a participant study
where programmers completed tasks on their own python programs using Anteater.
Finally, we discuss limitations and where further research is needed.
