[Georgia Tech][GVU][People][Search]



Dean Jerding


Dean Jerding is a Ph.D. student in the Graphics, Visualization, and Usability Center of the College of Computing at Georgia Tech.

Areas of interest include information visualization, methods and tools for software design/implementation/maintenance/reverse-engineering (esp. object-oriented), software architecture, user-interface toolkits and design, and human-computer interaction.

As part of thesis research, designed and implemented tool for visualization of interaction scenarios that take place during program execution, called Interaction Scenario Visualizer (ISVis). ISVis is being utilized as part of the MORALE project for supporting mission-oriented architectural reengineering of legacy systems and a beta release is available.

I will be graduating with my Ph.D. in December 1997. I am currently working for Scientific-Atlanta, as a member of the Multimedia Applications & Technology group.


Quick Links To Related Info


Academic Background

Dean graduated from the University of Virginia in 1992 with a degree in Electrical Engineering. He then entered the Computer Science Ph.D. program here at Georgia Tech in the fall of 1992. Along the way toward his Ph.D., Dean received his M.S. in Computer Science in 1996. Dean has passed his qualifying exams, and has proposed a thesis topic:

Visualizing Patterns of Interaction in the Execution of Object-Oriented Programs

The dynamic behavior of object-oriented programs is difficult to design, implement, and modify. Understanding the interactions between classes and objects is necessary to create efficient designs and make safe modifications. This thesis work seeks to identify, visualize, and analyze recurring patterns of interaction in object-oriented program executions as a means for understanding and examining dynamic behavior. Support is directed toward design recovery, validation, and reengineering tasks, such as comparing existing design or mental model specifications with design-level specifications reverse engineered from the implementation.

Dean spent the summer of 1995 as an intern in the Software Production Research Department of (formerly) AT&T's Bell Laboratories in Naperville, IL and is currently doing part-time consulting for Scientific-Atlanta, Inc.


Research Interests

Dean is a member of the software visualization research group. Specifically, he is focused on visualizing object-oriented software. His other interests include information visualization, object-oriented software engineering, user-interface design, and human computer interaction. Below are some highlights of Dean's research.

Visualizing Object-Oriented Software

The object-oriented approach to program design has made a significant impact on the way software is developed and maintained. Programmers have adopted the object-oriented approach in order to take advantage of better data abstraction and encapsulation, reuse through inheritance, and polymorphism.

This work seeks to help software developers, testers, and maintainers understand the dynamics of object-oriented systems. While many OO design techniques begin with static object modeling, it is the dynamics of the object interactions that are most important to how a program operates. Of course, these interactions are the most difficult part of the system to design and understand. Additionally, these aspects of a system are often less documented than their more static counterparts. My approach is to use visualization to convey information to programmers about their systems that is not available through static analysis and dynamic profiling.

The key to my approach is the use of patterns of interaction between entities in the system as abstractions which bridge the gulf of abstraction between a program's design and its implementation. The first step in the process is to gather static information about a system, and then generate trace files which record system behavior. By analyzing the behavior, patterns of interaction can be uncovered. Using various filtering and abstraction techniques, the high-level behavior can be extracted from the low-level patterns. Graphical visualizations are used to present this information to programmers, and allow them to control the filtering and abstraction process. The abstract behavior can then be compared with design level information, such as execution scenarios, dynamic state models, or architectural models. The support is thus directed toward design recovery and validation tasks.

The technical report, "Visualizing Message Patterns in Object-Oriented Program Executions", describes our initial efforts to extract and visualize patterns of messages in OO systems.

History

In late 1993, Dean built the first prototype view for visualizing the execution of C++ programs. It is based on work done in the GROOVE system, and contains a simple view of the inheritance hierarchy and message passing in an executing program.

The second generation prototype supports multiple views of a program and its execution. A technical report is available describing this framework, "Using Visualization to Foster Object-Oriented Program Understanding".

Pertinent references include:

Jerding, Dean F., John T. Stasko, and Thomas Ball, "Visualizing Message Patterns in Object-Oriented Program Executions", Graphics, Visualization, and Usability Center, Georgia Institute of Technology, Atlanta, GA, Technical Report GIT-GVU-96-15, May 1996.

Jerding, Dean F. and Stasko, John T., "The Information Mural: A Technique for Displaying and Navigating Large Information Spaces", Proceedings of the IEEE Symposium on Information Visualization, Atlanta, GA, October 1995, p. 43-50.

Jerding, Dean F. and Stasko, John T., "Using Visualization to Foster Object-Oriented Program Understanding", Graphics, Visualization, and Usability Center, Georgia Institute of Technology, Atlanta, GA, Technical Report GIT-GVU-94-33, July 1994.


Visualizing Large Information Spaces

Information visualizations must allow users to browse information spaces and focus quickly on items of interest. Navigational techniques which utilize some representation of the entire information space provide context to support more detailed information views. However, the limited number of pixels on the screen makes it difficult to completely display large information spaces. The Information Mural is a two-dimensional, reduced representation of an entire information space that fits entirely within a display window or screen. The mural creates a miniature version of the information space using visual attributes such as grayscale shading, intensity, color, and pixel size, along with anti-aliased compression techniques. Information murals can be used as stand-alone visualizations or in global navigational views.

This technique evolved from research in visualizing the execution of large object-oriented programs (see above). Information murals of various information including text files, stock market data, sunspot data, river flow data, and geographic site locations have been created.

See the technical report below for details. A draft of the report is available in html. Sample code of a data viewer using the mural technique is also available, just contact me.

Pertinent references include:

Jerding, Dean F. and Stasko, John T., "The Information Mural: Increasing Information Bandwidth in Visualizations", Graphics, Visualization, and Usability Center, Georgia Institute of Technology, Atlanta, GA, Technical Report GIT-GVU-96-25, October 1996.

Jerding, Dean F. and Stasko, John T., "Using Information Murals in Visualization Applications", Proceedings of the Symposium on User Interface Software and Technology (Demonstration), Pittsburgh, PA, November 1995, p.73-74.

Jerding, Dean F. and Stasko, John T., "The Information Mural: A Technique for Displaying and Navigating Large Information Spaces", Proceedings of the IEEE Symposium on Information Visualization, Atlanta, GA, October 1995, p. 43-50.


Contact Information

Graphics, Visualization, and Usability Center
College of Computing
801 Atlantic Drive
Georgia Institute of Technology
Atlanta, Georgia 30332-0280
office: (404)894-9761
email: dfj@cc.gatech.edu