3D visualization techniques to support slicing-based program comprehension

  • Authors:
  • Juergen Rilling;S. P. Mudur

  • Affiliations:
  • Department of Computer Science and Software Engineering, Concordia University, 1455, de Maisonneuve West, Montreal, Que, Canada H3G 1M8;Department of Computer Science and Software Engineering, Concordia University, 1455, de Maisonneuve West, Montreal, Que, Canada H3G 1M8

  • Venue:
  • Computers and Graphics
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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.