Automated construction of memory diagrams for program comprehension

  • Authors:
  • Andrew R. Dalton;William Kreahling

  • Affiliations:
  • Western Carolina University, Cullowhee, NC;Western Carolina University, Cullowhee, NC

  • Venue:
  • Proceedings of the 48th Annual Southeast Regional Conference
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Memory diagrams serve as a visualization technique that enables students to better understand the abstract state of program memory. Unlike traditional program visualizations, memory diagrams illustrate where variables of different types and storage classes are allocated. Our experience is that memory diagrams enhance the ability of novice programmers to understand object-oriented programming. Unfortunately, however, constructing these diagrams by hand can prove tedious. We introduce a toolkit for constructing memory diagrams. The toolkit enables students to verify their understanding of the state of their programs' memory, and allows instructors to generate both correct and incorrect diagrams to test their students' understanding of course material. We evaluate the toolkit in terms of its ability to generate visualizations of various Java language constructs including enumerations, arrays, and reference aliasing.