On the Design of a Multi-Perspective Visualization Environment to Enhance Software Comprehension Activities

In spite of all views available in Modern Integrated Development Environments (IDE), programmers still struggle to obtain all the information they need from the source code. Software visualization tools have been proposed to solve this problem. However, most of them focus on a single visual metaphor that represents the software from a specific perspective and therefore addresses a specific software comprehension issue. Real problems frequently require looking at the software from many different perspectives to address a certain maintenance task. These perspectives cannot be fully provided by only one view. It is thus desirable that an IDE provides several resources to explore the software and to configure them to the task at hand. This paper describes steps followed to design an extensible multi-perspective Eclipse plug-in for static software visualization. It offers an initial set of three perspectives and their respective views that are intended to provide a fairly broad set of software visualization resources to the IDE user.

[1]  Ben Shneiderman,et al.  Tree visualization with tree-maps: 2-d space-filling approach , 1992, TOGS.

[2]  Blaine A. Price,et al.  A Principled Taxonomy of Software Visualization , 1993, J. Vis. Lang. Comput..

[3]  Alan F. Blackwell,et al.  Cognitive Questions in Software Visualisation , 1997 .

[4]  Ben Shneiderman,et al.  Readings in information visualization - using vision to think , 1999 .

[5]  Allison Woodruff,et al.  Guidelines for using multiple views in information visualization , 2000, AVI '00.

[6]  Margaret-Anne D. Storey,et al.  A multi-perspective software visualization environment , 2000, CASCON.

[7]  Andrian Marcus,et al.  A task oriented view of software visualization , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

[8]  Stuart M. Charters,et al.  The end of the line for Software Visualisation? , 2003, VISSOFT.

[9]  Stéphane Ducasse,et al.  Polymetric Views - A Lightweight Visual Approach to Reverse Engineering , 2003, IEEE Trans. Software Eng..

[10]  Margaret-Anne D. Storey,et al.  Theories, tools and research methods in program comprehension: past, present and future , 2006, Software Quality Journal.

[11]  Michele Lanza,et al.  Program Comprehension through Software Habitability , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[12]  C.J.H. Mann,et al.  Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2007 .

[13]  Manoel G. Mendonça,et al.  Proposing a visual approach to support the characterization of software comprehension activities , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[14]  Michele Lanza,et al.  Visualizing Co-Change Information with the Evolution Radar , 2009, IEEE Transactions on Software Engineering.

[15]  Cláudio Sant'Anna,et al.  On the Use of Software Visualization to Support Concern Modularization Analysis , 2010 .

[16]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.