The International Arab Journal of Information Technology, Vol. 2, No. 1, January 2005 1 Enhancing Cognitive Aspects of Software Visualization Using DocLike Modularized Graph Shahida Sulaiman 1 , Norbik Bashah Idris 2 , and Shamsul Sahibuddin 3 1 Faculty of Computer Science, University Sains Malaysia, Malaysia 2 Center for Advanced Software Engineering, University Technology Malaysia, Malaysia 3 Faculty of Computer Science and Information System, University Technology Malaysia, Malaysia Abstract: Understanding an existing software system to trace possible changes involved in a maintenance task can be time consuming especially if its design document is absence or out-dated. In this case, visualizing the software artefacts graphically may improve the cognition of the subject system by software maintainers. A number of tools have emerged and they generally consist of a reverse engineering environment and a viewer to visualize software artefacts such as in the form of graphs. The tools also grant structural re-documentation of existing software systems but they do not explicitly employ document-like software visualization in their methods. This paper proposes DocLike Modularized Graph method that represents the software artefacts of a reverse engineered subject system graphically, module-by-module in a document-like re-documentation environment. The method is utilized in a prototype tool named DocLike viewer that generates graphical views of a C language software system parsed by a selected C language parser. Two experiments were conducted to validate how much the proposed method could improve cognition of a subject system by software maintainers without documentation, in terms of productivity and quality. Both results deduce that the method has the potential to improve cognitive aspects of software visualization to support software maintainers in finding solutions of assigned maintenance tasks. Keywords: Software maintenance, software visualization, program comprehension. Received July 21, 2003; accepted March 8, 2004 1. Introduction Visualization for software, or Software Visualization (SV), is a method in program comprehension, which is vital in the costly software maintenance. SV is the use of interactive computer graphics, typography, graphic design, animation and cinematography to enhance interface between the software engineers or the computer science student and their programs [7]. The objective is to use graphics to enhance the understanding of a program that has already been written. Computer-Aided Software Engineering (CASE) workbench in the class of maintenance and reverse engineering such as CIA [3], Rigi [8, 17], PBS [6] and SNiFF+ [16] are normally incorporated with editor window in which the extracted software artifacts will be visualized graphically besides their textual information. These tools aid and optimize software engineers’ program comprehension or cognitive strategies, particularly when there is an absence of design level documentation that is still a major problem in software engineers’ practice [14]. Existing methods of the tools focus on visualizing the software artifacts whilst structural re-documentation as another aspect provided. Nevertheless, they do not explicitly grant the environment to re-document software systems via their viewers. Another type of CASE tool of class analysis and design such as Rational Rose is also incorporated with reverse engineering utility. However it should be highlighted that this tool focuses more on forward engineering, while reverse engineering as part of its utilities. Thus reverse engineering an existing software system using this tool without proper forward engineering will only produce the relationships of classes that might not be so meaningful to software maintainers who are confronted with out-dated or absence of documentation. Hence such tool is not within the scope of our work. This paper proposes DocLike Modularized Graph (DMG) method employed in DocLike viewer prototype tool that represents the existing software architectures graphically in a modularized and standardized document-like manner. The discussion and evaluation of our DMG method in DocLike viewer was based on Storey’s work [10] that provides the cognitive framework to describe and evaluate software exploration tools, or in our context we refer them as SV tools. The method was also empirically evaluated based on productivity and quality of program comprehension. The remainder of the paper is organized as follows. Sections 2 and 3 briefly discuss DocLike Modularized Graph method and DocLike viewer prototype tool, respectively. The tradeoff issues of the method and the aspects of visualizing, understanding and re-