Copyright © 2005 Elsevier Ltd All rights reserved.
3D visualization techniques to support slicing-based program comprehension
Available online 26 April 2005.
Abstract
Graphic visuals derived from reverse engineered source code have long been recognized for their impact on improving the comprehensibility of structural and behavioral aspects of large software systems and their source code. A number of visualization techniques, primarily graph-based, do not scale. Some other proposed techniques based on 3D metaphors tend to obscure important structural relationships in the program. Multiple views displayed in overlapping windows are suggested as a possible solution, which more often than not results in problems of information overload and cognitive discontinuity. In this paper, we first present a comprehensive survey of related work in program comprehension and software visualization, and follow it up with a detailed description of our research which uses program slicing for deriving program structure-based attributes and 3D-metaball-based rendering techniques to help visualization-based analysis of source code structure. Metaballs, a 3D modeling technique, has already found extensive use for representing complex organic shapes and structural relationships in biology and chemistry. We have developed a metaball software visualization system in Java3D, named MetaViz. As proof of concept, using MetaViz, we demonstrate the creation of 3D visuals that are intuitively comprehensible and communicate information about relative component complexity and coupling among components and therefore enhance comprehension of the program structure.
Keywords: Software visualization; Program slicing; 3D modeling; Metaballs; Visual mapping
Article Outline
- 1. Introduction
- 1.1. Software comprehension
- 1.2. Software metrics and program slicing for software comprehension
- 1.3. Visualization of software structure and software metrics
- 1.4. Metaball metaphor
- 1.5. Organization of this paper
- 2. Software metrics and program slicing—a survey
- 2.1. Software metrics
- 2.2. Software design metrics
- 2.3. Coupling measurements
- 2.4. Program slicing
- 2.5. Slicing-based coupling measures
- 2.6. Slicing-based message passing coupling (SMPC)
- 3. Software visualization
- 3.1. Limitations of 2D graph-based visualization
- 3.2. 3D versus 2D visualization
- 3.3. 3D metaphors used in software visualization
- 3.4. Related work in metrics-based software visualization
- 4. Application of metaball metaphor to software visualization
- 4.1. Content-based clustering
- 4.2. Entity layout
- 5. Metaball visualization of a Java 3D program
- 6. Conclusions
- Acknowledgements
- References






E-mail Article
Add to my Quick Links

Cited By in Scopus (2)







