HDPV: Highly Interactive, Faithful, In-Vivo Runtime State Visualization for Software Programs

dc.contributor.authorSundararaman, Jaishankaren
dc.contributor.committeechairBack, Godmar V.en
dc.contributor.committeememberNorth, Christopher L.en
dc.contributor.committeememberTilevich, Elien
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2014-03-14T20:41:32Zen
dc.date.adate2008-08-04en
dc.date.available2014-03-14T20:41:32Zen
dc.date.issued2008-06-26en
dc.date.rdate2008-08-04en
dc.date.sdate2008-07-16en
dc.description.abstractProgram Visualization systems use graphics and animation to represent the behavior of software programs. These systems represent different aspects of the program such as source code, control flow, data structures, runtime state of the program. Representing the actual runtime state of the program finds its use in a variety of applications including program understanding, visual debugging, and pedagogy. However, existing state-of-the-art program visualization systems are limited in : (1) not providing sufficient interactive capabilities to the user; (2) not faithfully representing the runtime state of the program; (3) not allowing users to apply different layout strategies to the visualization; (4) being tied to a specific programming language. To address these limitations, this thesis presents HDPV, a program state visualization system that visualizes any C, C++, or Java program. HDPV is based on a canonical state model that represents the memory layout of the program as a graph of memory blocks. It decouples the visualization of the program from the actual programming language in which it is written, thereby making the system language independent. HDPV supports a host of interactive features that allow the user to selectively explore different parts of the program's runtime state. Novel layout strategies support customization through user interaction. We provide a list of use-cases to show that HDPV can be applied to a wide variety of applications including - but not limited to - understanding programs that use basic concepts in computer science, demonstrating algorithm implementations, and debugging software programs.en
dc.description.degreeMaster of Scienceen
dc.identifier.otheretd-07162008-231617en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-07162008-231617/en
dc.identifier.urihttp://hdl.handle.net/10919/34030en
dc.publisherVirginia Techen
dc.relation.haspartHDPV_Sundararaman.pdfen
dc.relation.haspartHDPV_Demo.mp4en
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectVisual Debuggingen
dc.subjectSoftware Comprehensionen
dc.subjectProgram Visualizationen
dc.titleHDPV: Highly Interactive, Faithful, In-Vivo Runtime State Visualization for Software Programsen
dc.typeThesisen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
HDPV_Sundararaman.pdf
Size:
2.44 MB
Format:
Adobe Portable Document Format
Loading...
Thumbnail Image
Name:
HDPV_Demo.mp4
Size:
45.72 MB
Format:
MP4 Container format for video files

Collections