Software visualization with audio supported cognitive glyphs

There exist numerous software visualization techniques that aim to facilitate program comprehension. One of the main concerns in every such software visualization is to identify relevant aspects fast and provide information in an effective way. In previous work, we developed a cognitive visualization technique and tool called CocoViz that uses common place metaphors for an intuitive understanding of software structures and evolution. In this paper, we address software comprehension by a combination of visualization and audio. Evolution and structural aspects are annotated with different audio to represent concepts such as design erosion, code smells or evolution metrics. We use audio concepts such as loudness, sharpness, tone pitch, roughness or oscillation and map those to properties of classes and packages. As such we provide an audio annotation of software entities along their version history for software analysis and software browsing. Our first results with the prototype and a small user study show that with this combination of visual and aural means we can facilitate program comprehension and provide additional information that usually is not provided by current visualization approaches.

[1]  Lewis Irwin Berman,et al.  The Sound of Software: Using Sonification to Aid Comprehension , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[2]  Jürgen Ebert,et al.  Collapsible cylindrical trees: a fast hierarchical navigation technique , 2001, IEEE Symposium on Information Visualization, 2001. INFOVIS 2001..

[3]  Ben Shneiderman,et al.  Tree-maps: a space-filling approach to the visualization of hierarchical information structures , 1991, Proceeding Visualization '91.

[4]  Harald C. Gall,et al.  CocoViz: Supported Cognitive Software Visualization , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[5]  Keith Gallagher,et al.  LISTENING TO PROGRAM SLICES , 2006 .

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

[7]  Philippe Dugerdil,et al.  Execution Trace Visualization in a 3D Space , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[8]  Chris DiGiano,et al.  LogoMedia: a sound-enhanced programming environment for monitoring program behavior , 1993, CHI '93.

[9]  Aaron Marcus,et al.  Software visualization for debugging , 1997, CACM.

[10]  Paul Vickers,et al.  External Auditory Representations of Programs: Past, Present, and Future an Aesthetic Perspective , 2004, ICAD.

[11]  Harald C. Gall,et al.  CocoViz: Towards Cognitive Software Visualizations , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[12]  Michael John Pacione Software visualization for object-oriented program comprehension , 2004, Proceedings. 26th International Conference on Software Engineering.

[13]  Susan Wiedenbeck,et al.  Navigation and comprehension of programs by novice programmers , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[14]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

[15]  Paul Vickers,et al.  Siren songs and swan songs debugging with music , 2003, CACM.

[16]  Paul Vickers,et al.  CAITLIN: a musical program auralisation tool to assist novice programmers with debugging , 1996 .

[17]  Alfred Inselberg,et al.  Parallel coordinates: a tool for visualizing multi-dimensional geometry , 1990, Proceedings of the First IEEE Conference on Visualization: Visualization `90.

[18]  Tobias Isenberg,et al.  An interactive 3D integration of parallel coordinates and star glyphs , 2005, IEEE Symposium on Information Visualization, 2005. INFOVIS 2005..

[19]  Stephen Barrass,et al.  SONIFICATION DESIGN PATTERNS , 2003 .

[20]  William M. Hartmann,et al.  Psychoacoustics: Facts and Models , 2001 .

[21]  Andreas Stefik,et al.  WAD: A Feasibility study using the Wicked Audio Debugger , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[22]  Hugo Fastl,et al.  Psychoacoustics: Facts and Models , 1990 .

[23]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[24]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[25]  Radu Marinescu,et al.  Detection strategies: metrics-based rules for detecting design flaws , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[26]  Harald C. Gall,et al.  Visualizing multiple evolution metrics , 2005, SoftVis '05.

[27]  Ramana Rao,et al.  A focus+context technique based on hyperbolic geometry for visualizing large hierarchies , 1995, CHI '95.

[28]  Martin Pinzger,et al.  ArchView - Analyzing Evolutionary Aspects of Complex Software Systems , 2005 .

[29]  Helwig Hauser,et al.  Parallel Sets: Visual Analysis of Categorical Data , 2005, INFOVIS.

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

[31]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[32]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

[33]  Chris Mellish,et al.  THE 'AUDIOVIEW' - PROVIDING A GLANCE AT JAVA SOURCE CODE , 2005 .

[34]  Marc Roper,et al.  A comparative evaluation of dynamic visualisation tools , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[35]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[36]  John Hershberger,et al.  Colour and sound in algorithm animation , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[37]  Michele Lanza,et al.  Object-Oriented Metrics in Practice - Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2006 .