Visualizing Software Systems as Cities

This paper presents a 3D visualization approach which gravitates around the city metaphor, i.e., an object-oriented software system is represented as a city that can be traversed and interacted with: the goal is to give the viewer a sense of locality to ease program comprehension. The key point in conceiving a realistic software city is to map the information about the source code in meaningful ways in order to take the approach beyond beautiful pictures. We investigated several concepts that contribute to the urban feeling, such as appropriate layouts, topology, and facilities to ease navigation and interaction. We experimented our approach on a number of systems, and present our findings.

[1]  Malcolm Munro,et al.  Virtual but visible software , 2000, 2000 IEEE Conference on Information Visualization. An International Conference on Computer Visualization and Graphics.

[2]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[3]  Andrian Marcus,et al.  3D representations for software visualization , 2003, SoftVis '03.

[4]  Stephan Diehl,et al.  Dependency Viewer - A Tool for Visualizing Package Design Quality Metrics , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[5]  Stuart M. Charters,et al.  Visualisation for informed decision making; from code to components , 2002, SEKE '02.

[6]  Michele Lanza,et al.  Exploring Inter-Module Relationships in Evolving Software Systems , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[7]  Michael Balzer,et al.  Software landscapes: visualizing the structure of large software systems , 2004, VISSYM'04.

[8]  Welf Löwe,et al.  Online-configuration of software visualizations with Vizz3D , 2005, SoftVis '05.

[9]  John C. Grundy,et al.  A 3D metaphor for software production visualization , 2003, Proceedings on Seventh International Conference on Information Visualization, 2003. IV 2003..

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

[11]  C. Zheng,et al.  ; 0 ; , 1951 .

[12]  Oscar Nierstrasz,et al.  Moose: an agile reengineering environment , 2005, ESEC/FSE-13.

[13]  Hausi A. Müller,et al.  The Software Bookshelf , 1997, IBM Syst. J..

[14]  Keith Andrews,et al.  Information Pyramids : A New Approach to Visualising Large Hierarchies , 1998 .

[15]  Stéphane Ducasse,et al.  The class blueprint: visually supporting the understanding of glasses , 2005, IEEE Transactions on Software Engineering.

[16]  Lucian Voinea,et al.  CVSscan: visualization of code evolution , 2005, SoftVis '05.

[17]  Arthur J. Riel,et al.  Object-Oriented Design Heuristics , 1996 .

[18]  Stéphane Ducasse,et al.  Object-Oriented Metrics in Practice , 2005 .

[19]  Michele Lanza,et al.  Reverse Engineering with Logical Coupling , 2006, 2006 13th Working Conference on Reverse Engineering.

[20]  Rainer Koschke,et al.  The Dominance Tree in Visualizing Software Dependencies , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[21]  Thomas Ball,et al.  Software Visualization in the Large , 1996, Computer.

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