Anteater: Interactive visualization for program understanding

Rebecca Faust, Katherine Isaacs, William Z. Bernstein, Michael Sharp, Carlos Scheidegger

Research output: Contribution to journalArticlepeer-review

Abstract

Understanding and debugging long, complex programs can be extremely difficult; it often includes significant, manual program instrumentation and searches through source files. In this paper, we present Anteater, an interactive visualization system for tracing and exploring the execution of a program. While existing debugging tools often have visualization components, these components are often added on top of an existing environment. In Anteater, in contrast, visualization is a driving concern. We answer the following question: what should a debugging tool look like if it were designed from the ground up to support interactive visualization principles? Anteater automatically instruments source code to capture execution behavior along with variables and expressions specified by the user. After generating the execution trace, Anteater presents the execution information through interactive visualizations. Anteater supports interactions that help with tasks such as discovering important structures in the execution, learning dependencies, and understanding and debugging unexpected behaviors. To assess the utility of Anteater, we present several real-world case studies that show how Anteater compares favorably to existing approaches. Finally, we discuss limitations of our system and where further research is needed.

Original languageEnglish (US)
JournalUnknown Journal
StatePublished - Jul 5 2019

Keywords

  • Interactive Visualization
  • Program Traces

ASJC Scopus subject areas

  • General

Fingerprint Dive into the research topics of 'Anteater: Interactive visualization for program understanding'. Together they form a unique fingerprint.

Cite this