Visual Tools for Software Engineering

 





Abstract / Executive Summary:


          

Torus layout showing route in traffic analysis example.

Our understanding of the world is based on mental models of objects and processes and the relationships between them. We abstract information about the world, which we must then organize into a coherent whole. We often use devices such as drawings, graphs, or images to help us gain insight or look for patterns to help define relationships. The goal of this project is to develop tools that use visualization to provide insight and assistance in the debugging of complex, dynamically changing systems. We are researching the issues of scale and parallelism by exploring methods for abstracting information within a focus area, while still providing a sense of context within the global domain.

Staff:

  • PI: Patricia Crossno, Ph.D. - Sandia Staff

  • David Rogers - Sandia Staff

Project Description:

  • We use visualization to help us understand the results of complex, scientific simulations by transforming large quantities of numbers into three-dimensional shapes and images.

  • By abstracting the variable values to color or shape, mapping them into a three-dimensional domain so that proximity relationships can be correlated with the values, and then animating this over time, the software developer can gain insights into complex, dynamic behaviors within the code.

 

Research Plan:

This is a three-year research project.

  • First year we have been working on creating a prototype system.

  • Second year, we will expand upon that system by including vector data, the display of overlapping parallel grid elements, and system modifications in response to the ALEGRA team's feedback.

  • Third year, we will direct our work to scaling our visualizations up to the maximum levels by adapting the system to run on a distributed memory parallel platform. This will be necessary to accommodate the memory requirements of the largest grids, which will have been generated on these platforms.

Accomplishments:

  • Our collaboration with the Cplant™ team has resulted in an application that has produced a number of important insights. We replaced the tedious examination of long lists of error counts with a visualization that uses color-coding of values superimposed on a model of the hardware to help understand the source of errors. By visualizing bad packet counts at each port in combination with job identifiers for the processes running and routing information, patterns of error propagation through time could be explained. Seeing the processor allocation patterns led to the realization that processors were being allocated based on their logical identifiers, rather than on their physical proximity. Consequently, processors in the same job could be all over the machine leading to inefficiencies in communications. Seeing the routes visually led to the realization that certain ports were shared by multiple routes and acted as bottlenecks. These discoveries have led to changes in the processor allocation and routing algorithms. A more detailed description of the application is in the two papers listed below

  • We have written a parallel application that searches meshes produced
    by ALEGRA for inverted cells and extracts a region of cells around
    each inverted cell found. We are currently working on a viewer that
    will permit drill-down operations on the mesh subsets.

Publications:

  • "Case Study: Visual Debugging of Cluster Hardware," Patricia Crossno and Rena Haynes. To appear in the Proceedings of IEEE Visualization 2001, October 2001.

  • "A Visualization Tool for Analyzing Cluster Performance Data," Rena Haynes, Patricia Crossno, and Eric Russell. To appear in the Proceedings of IEEE Cluster 2001.

Contact: Patricia J. Crossno

Meet us | Projects | SC2000