Program Visualization

Joseph Sharnowski and Betty H.C. Cheng

Software Engineering Research Group
Department of Computer Science
Michigan State University

Post-mortem visualizations of program execution are useful for debugging the complex behavior of parallel programs. However, the effectiveness of the visualizations is limited by the characteristics of the information that they present. First, the monitor intrusion and data storage constraints restrict the amount of data that may be recorded during the program execution, and thus restrict the corresponding information presented in the visualizations. Such visualizations have generally only been used to provide a limited portrayal of program execution, thus preventing a detailed examination of the underlying behavior. Second, the type of information presented by visualizations often limits how well their representations match the programmer's conceptual model of the expected program behavior. The models used for visualizing program behavior typically have focused on depicting low-level events, such as message-passing or procedure calls. These models impose the programmer with the burden of establishing a match between the graphically-displayed events and the patterns of expected behavior for the program.

This project addresses these two problems. First, in order to relax the problems associated with the acquisition of data, we are developing an approach to debugging based on an on-line rather than post-mortem strategy. Recent advances in replay techniques have encouraged the use of on-line debugging strategies since the problems associated with monitor intrusion and data storage constraints are avoided when using this method. With respect to visualization, replay-based techniques are especially promising since they alleviate the restrictions associated with the amount of data that can be generated. This project is investigating a number of new approaches for applying visualization to the operation of an on-line parallel debugger. As a key feature of this project, we are exploring the integration of a collection of visualization-based operations into a common environment for supporting top-down debugging of parallel programs.

The second major objective of this project is to develop a methodology for modeling a visualization based on the expected behavior of the program, where the model of expected behavior is generated from the program's formal specification. In particular, we are investigating the modeling of expected behavior in visualizations of communication between processing elements, as well as in program call graphs and flow diagrams. The implementation for these techniques will be integrated with the visualization-based on-line debugger. The overall results of this project will provide visualizations that match the programmer's conceptual understanding of the problem at hand.

Selected Papers and Presentations

  • ``The Integration of an On-Line Parallel Debugger with a Visualization Methodology for Modeling Expected Behavior'' (Joseph L. Sharnowski), PhD Dissertation, Michigan State University, Department of Computer Science, April 1995.

  • ``GOLD: A Graphical, On-Line Debugger for Parallel Programs'' (Joseph L. Sharnowski and Betty H.C. Cheng), Submitted for publication, Technical Report, Michigan State University, Department of Computer Science, CPS-95-16, April 1995.

  • ``A Visualization-based Environment for Top-down Debugging of Parallel Programs'' (Joseph L. Sharnowski and Betty H.C. Cheng), Proceedings of the 9th International Parallel Processing Symposium (IPPS '95), April 25-28, 1995, Santa Barbara, California, pages 640-645.

  • ``A Scalable Approach to Visualization-based Parallel Debugging'' (Joseph L. Sharnowski and Betty H.C. Cheng), Submitted for publication, Technical Report, Michigan State University, Department of Computer Science, CPS-94-67, December 1994.

  • ``A Top-down Approach to Visualization-based Debugging of Parallel Programs'' (Joseph L. Sharnowski and Betty H.C. Cheng), Presented at the poster session of Supercomputing '94, November 1994.

  • ``A Formal Approach to Modeling Expected Behavior in Parallel Program Visualizations'' (Joseph L. Sharnowski and Betty H.C. Cheng), Proc. of Parallel Architectures and Languages Europe (PARLE'94), Lecture Notes in Computer Science, vol. 817, Springer Verlag, pp. 202-213, July 1994.

  • ``A Formally-based Expected Behavior Model for Parallel Program Visualizations'' (Joseph L. Sharnowski and Betty H.C. Cheng), Submitted for publication, Technical Report, Michigan State University, Department of Computer Science, CPS-93-30, April 1994.

  • ``Data Parallel Program Visualizations from Formal Specifications'' (M.V. LaPolla, J.L. Sharnowski, B.H.C. Cheng, and K. Anderson), Journal of Parallel and Distributed Computing, Vol. 18, No. 2, pp. 252-257, June 1993.

  • ``Using Visualizations to Guide Data Partitioning'' (Joseph L. Sharnowski and Betty H.C. Cheng) Technical Report, Michigan State University, Department of Computer Science, CPS-93-19, May 1993.

  • ``Mapping Formal Specifications to Parallel Program Visualizations'' (J.L. Sharnowski, M.V. LaPolla, and B.H.C. Cheng), Proc. of Minnowbrook Workshop on Software Engineering for Parallel Computing, pp. 29-34. August 1992.

  • ``Using Formal Specifications to Generate Visualizations of Data Parallelism'' (M.V. LaPolla, J.L. Sharnowski, B.H.C. Cheng, and K. Anderson), Technical Report, Michigan State University, MSU-CPS-92-05, July 1992.
  • For further information, contact B. Cheng (chengb@cps.msu.edu) or visit URL: http://www.cps.msu.edu/~chengb/serg.html