A framework for efficient creation and customization of high level program visualizations

Date

2011-08

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

Email libraryada-l@lists.hawaii.edu if you need this content in ADA-compliant format.