Enhancing Cognitive Aspects of Software Visualization Using DocLike Modularized Graph
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.
[1] Basili V. R., “Software Modeling and Measurement: The Goal/ Question/ Metric Paradigm,” University of Maryland Technical Report, UMIACS-TR-92-96, 1992.
[2] Binkley D., “An Empirical Study of the Effect of Semantic Differences on Programmer Comprehension,” in Proceedings of the 10th International Workshop on Program Comprehension, IEEE Computer Society Press, USA, pp. 97-106, 2002.
[3] Chen Y. F., Nishimoto M. Y., and Ramamoorthy C. V., “The C Information Abstraction System,” IEEE Transactions on Software Engineering, vol. 16, no. 3, pp. 325-334, 1990.
[4] Hendrix T. D., Cross J. H. II, and Maghsoodloo S., “The Effectiveness of Control Structure Diagrams in Code Comprehension Activities,” IEEE Transactions on Software Engineering, vol. 28, no. 5, pp. 463-477, 2002.
[5] Mashiko Y. and Basili V. R., “Using the GQM Paradigm to Investigate Influential Factors for Software Process Improvement,” Journal of Systems and Software, vol. 36, pp. 17-32, 1997.
[6] Parry T. III, Lee H. S., and Tran J. B., “PBS Tool Demonstration Report on Xfig,” in Proceedings of the 7th Working Conference on Reverse Engineering, IEEE Computer Society Press, USA, pp. 200-202, 2000.
[7] Price B. A., Baecker R. M., and Small I. S., “A Principled Taxonomy of Software Visualization,” Journal of Visual Languages and Computing, vol. 4, pp. 211-266, 1993.
[8] Rigi, “Rigi Group Home Page,” http://www.rigi. csc.uvic.ca, 2004.
[9] Shaffer C. A., A Practical Introduction to Data Structures and Algorithm Analysis, Prentice-Hall, New Jersey, pp. 12-21, 1997.
[10] Storey M. A. D., Fracchia F. D., and Muller H. A., “Cognitive Design Elements to Support the Construction of a Mental Model During Software Exploration,” Journal of Systems and Software, vol. 44, pp. 171-185, 1999.
[11] Storey M. A. D., Wong K., and Muller H. A., “How Do Program Understanding Tools Affect How Programmers Understand Programs?,” in Proceedings of the 4th Working Conference on Enhancing Cognitive Aspects of Software Visualization Using DocLike Modularized Graph 9 Reverse Engineering, IEEE Computer Society Press, USA, 1997.
[12] Sulaiman S. and Idris N. B., “An Enhanced Approach of Software Visualization in Reverse Engineering Environment,” in Proceedings of the National Conference on Computer Graphic and Multimedia (CoGRAMM‘02), UTM Press, Malaysia, pp.459-464, 2002.
[13] Sulaiman S., Idris N. B., and Sahibuddin S., “A Comparative Study of Reverse Engineering Tools for Software Maintenance,” in Proceedings of the 2nd World Engineering Congress Information and Communications Technology (ICT), UPM Press, Malaysia, pp. 478-483, 2002.
[14] Sulaiman S., Idris N. B., and Sahibuddin S., “Production and Maintenance of System Documentation: What, Why, When and How Tools Should Support the Practice,” in Proceedings of the 9th Asia Pacific Software Engineering Conference (APSEC'2002), IEEE Computer Society Press, USA, pp. 558-567, 2002.
[15] Sulaiman S., Idris N. B., Sahibuddin S., and Sulaiman S., “Re-Documenting, Visualizing and Understanding Software Systems Using DocLike Viewer,” in Proceedings of the 10th Asia Pacific Software Engineering Conference (APSEC 2003), IEEE Computer Society Press, USA, pp. 154-163, 2003.
[16] Wind River, “Wind River: IDE: SNiFF+,” http://www.windriver.com/products/html/sniff.ht ml, 2004.
[17] Wong K., Tilley S. R., Muller H. A., and Storey M. A. D., “Structural Redocumentation: A Case Study,” IEEE Software, vol. 12, no. 1, pp. 46-54, 1995.
[18] Zayour I. and Lethbridge T. C., “Adoption of Reverse Engineering Tools: a Cognitive Perspective and Methodology,” in Proceedings of the 9th International Workshop on Program Comprehension, IEEE Computer Society Press, USA, pp. 245-255, 2001. Shahida Sulaiman BSc in computer science, MSc in real-time software engineering, and PhD in computer science. She is a lecturer in the Faculty of Computer Science, University Sains Malaysia. Her field of interest is software visualization for software maintenance. Norbik Bashah Idris is a professor and director of the Center for Advanced Software Engineering at University Technology Malaysia (KL Campus). He received his BSc in computer science from the University of New South Wales in Sydney, MSc from University of Queensland, Brisbane and PhD in ICT Security from the University of Wales, UK. He is a certified system security professional by The International Association for Computer System Security, USA and received a certificate in industrial software engineering from Universite Thales, France. He is a member of SIGSAC ACM, IEEE, New York Academy of Science and IFIP. Shamsul Sahibuddin is an associate professor and the deputy dean (development) in the Faculty of Computer Science and Information Technology of University Technology Malaysia. He received his BSc in computer science from Western Michigan University, USA, MSc in computer science from Central Michigan University, USA, and PhD in computer science from Aston University, Birmingham, UK. He is member of the program committee for Asia-Pacific Conference in Software Engineering since 2003. His fields of specialization are computer supported cooperative work, computer network, and software quality. He is a member of ACM.