{"title":"Automated construction of memory diagrams for program comprehension","authors":"Andrew R. Dalton, William C. Kreahling","doi":"10.1145/1900008.1900040","DOIUrl":null,"url":null,"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.\n 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.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM SE '10","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1900008.1900040","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
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.