GRASP is an evolving prototype software engineering tool designed to automatically produce visualizations of both control structure and complexity of Ada 95 source code. Control structure is visualized as a Control Structure Diagram and complexity is visualized as a Complexity Profile Graph. nese visualizations use intuitive, compact graphical representations that allow the software engineer to holistically visualize the overall program as well as the details of a small section of code. The primary goal of GRASP is to use its visualizations to increase the comprehension efficiency of software, thus decreasing software costs. This paper discusses the current features and enhancements as well as the availability of GRASP. Introduction Software visualization is an active area of research that investigates efficient and effective ways of automatically producing graphical representations of program source code, algorithms, or the runtime behavior of software. Such visualization technology promises to bring considerable help to bearon difficult and costly issuesinsofiwareengineeringsuchas communicating program information for the purposes of design, implementation, testing, maintenance, and reverse engineering HI. As part of the ongoing GRASP (Graphical Representations of Algorithms, Structures, and Processes) project at Auburn University, we have developed a software engineering tool, also called GRASP, that automatically produces visualizations of control structure and complexity in Ada 95 source code in a manner flexible and efficient enough for professional application [2]. Preliminary empirical studies indicate the usefulness of the CSD and the practical potential for tools such as GRASP. Despite the potential promise of visualizations such as the CSD, there is considerable evidence that the effectiveness of visualizations is quite sensitive to issues such as the user’s skill level (the ability of a user to interpret a given visualization) and the manner in which the visualization is produced (the suitability of a given visualization to be correctly interpreted) [3]. Recognizing these facts, we have enhanced the GRASP software visualization tool to incorporate significant features with the intent of making the resulting visualizations more useful. The remainder of this paper describes these enhancements. Pen&sion to make digit&hard copies of all or part of this work for t~~~oaol or ctnssroom use is pnted without fee provided that copies are not mdc or distributed for protit or commercirl advanbge, the copyright no&, tile tile of the publication and its date appear, and notice is given thnt copying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to Iists, requires prior spccificpcnnissionMdrornfee 01997 ACM O-89791-981-5/97/001 3.50 135 Visualization of Control Structure GRASP is a continually evolving prototype software engineering tool. The emphasis of the tool to this point has been on visualizing program structure via the automatic generation of control structure diagrams (CSDs) from Ada 95 source code to support development, maintenance, reverse engineering, and
[1]
Grady Booch,et al.
Object-Oriented Analysis and Design with Applications
,
1990
.
[2]
Marian Petre,et al.
Why looking isn't always seeing: readership skills and graphical programming
,
1995,
CACM.
[3]
Aaron Marcus,et al.
Human factors and typography for more readable programs
,
1990
.
[4]
Blaine A. Price,et al.
A Principled Taxonomy of Software Visualization
,
1993,
J. Vis. Lang. Comput..
[5]
Aaron Marcus,et al.
Software visualization for debugging
,
1997,
CACM.
[6]
Grady Booch,et al.
Object-oriented analysis and design with applications (2nd ed.)
,
1993
.
[7]
Marian Petre,et al.
When Visual Programs are Harder to Read than Textual Programs
,
1992
.
[8]
Mark Allen Weiss,et al.
Data structures and algorithm analysis
,
1991
.