A framework for efficient creation and customization of high level program visualizations
Date
2011-08
Authors
Contributor
Advisor
Department
Instructor
Depositor
Speaker
Researcher
Consultant
Interviewer
Narrator
Transcriber
Annotator
Journal Title
Journal ISSN
Volume Title
Publisher
University of Hawaii at Manoa
Volume
Number/Issue
Starting Page
Ending Page
Alternative Title
Abstract
The purpose of software visualization is to facilitate program comprehension by visualizing artifacts of software programs using graphical representations. In particular, high-level, algorithm visualizations can be used to describe abstract concepts and algorithms to achieve effective understanding of programs. However, it has always been a difficult and time-consuming task to produce such high-level visualizations for programs. This diminishes programmers‟ willingness to create visualizations for their programs and therefore limits the usage and application of program visualization. To bridge this gap in the foundation of software visualization, we developed the "ProViz" framework that allows programmers to rapidly generate one or even several graphical depictions of a program and see the execution of this program as it runs. This is accomplished by (1) decoupling the visual programming from the target program through visual mapping tools, (2) utilizing data-driven design and method-driven capability, and (3) providing object-oriented software architecture of painters with high reusability. ProViz can facilitate the creation of versatile visualizations where the resulting visualizations are interactive and customizable, and the visualization can also be recorded to a file and played back. Being able to effortlessly create high-level visualizations for programs not only fulfills pedagogical purposes for educators but also is a fundamental step towards increasing the productivity of key elements in software development processes--from coding and debugging to maintenance. A prototype of the ProViz framework was embedded in the popular integrated development environment Eclipse. In a pilot study, it was utilized in an introductory computer science course where the instructor was able to demonstrate algorithms visually and the students could visually debug their programs. Moreover, a usability test was administered to experienced programmers to evaluate the effectiveness of the framework for general purpose software development. The results showed that programmers can indeed use ProViz to create or customize program visualizations with reasonable effort and time.
Description
Keywords
visualizations
Citation
Extent
Format
Geographic Location
Time Period
Related To
Theses for the degree of Doctor of Philosophy (University of Hawaii at Manoa). Computer Science.
Related To (URI)
Table of Contents
Rights
Rights Holder
Local Contexts
Collections
Email libraryada-l@lists.hawaii.edu if you need this content in ADA-compliant format.