Sonification design guidelines to enhance program comprehension

Faced with the challenges of understanding the source code of a program, software developers are assisted by a wealth of software visualization research. This work explores how visualization can be supplemented by sonification as a cognitive tool for code comprehension. By engaging the programmer's auditory senses, sonification can improve the utility of program comprehension tools. This paper reports on our experiences of creating and evaluating a program comprehension prototype tool that employs sonification to assist program understanding by rendering sonic cues. Our empirical evaluation of the efficacy of information sonification indicates that this cognitive aid can effectively complement visualization when trying to understand an unfamiliar code base. Based on our experiences, we then propose a set of guidelines for the design of a new generation of tools that increase their information utility by combining visualization and sonification.

[1]  Gregory Kramer,et al.  An introduction to auditory display , 1994 .

[2]  Hausi A. Müller,et al.  Manipulating and documenting software structures using SHriMP views , 1995, Proceedings of International Conference on Software Maintenance.

[3]  Dennis B. Smith,et al.  Towards a framework for program understanding , 1996, WPC '96. 4th Workshop on Program Comprehension.

[4]  J. Stasko,et al.  A Meta-Study of Algorithm Visualization Effectiveness , 2002, J. Vis. Lang. Comput..

[5]  de Gelder Sound Enhances Visual Perception: Cross-Modal Effects of Auditory Organization on Vision , 2001 .

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

[7]  Darrell R. Raymond,et al.  Reading source code , 1991, CASCON.

[8]  C D Wickens,et al.  Codes and Modalities in Multiple Resources: A Success and a Qualification , 1988, Human factors.

[9]  Penelope M. Sanderson,et al.  Designing Sonification for Effective Attentional Control in Complex Work Domains , 2004 .

[10]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[11]  Norman Wilde,et al.  Maintaining object-oriented software , 1993, IEEE Software.

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

[13]  Lionel E. Deimel The uses of program reading , 1985, SGCS.

[14]  Stephen Brewster,et al.  Using non-speech sound to overcome information overload , 1997 .

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

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

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

[18]  Gunnar Johannsen,et al.  Auditory displays in human-machine interfaces , 2004, Proceedings of the IEEE.

[19]  Alberto de Campo,et al.  Toward a data sonification design space map , 2007 .

[20]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[21]  Mark S. Sanders,et al.  Human Factors in Engineering and Design , 1957 .

[22]  William G. Griswold,et al.  Exploiting the map metaphor in a tool for software evolution , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[23]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[24]  S. Resnikoff,et al.  Global data on visual impairment in the year 2002. , 2004, Bulletin of the World Health Organization.

[25]  John T. Stasko,et al.  Visualization of test information to assist fault localization , 2002, ICSE '02.

[26]  John G. Neuhoff,et al.  Sonification Report: Status of the Field and Research Agenda Prepared for the National Science Foundation by members of the International Community for Auditory Display , 1999 .

[27]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[28]  Gregory Kramer,et al.  Auditory Display: Sonification, Audification, And Auditory Interfaces , 1994 .

[29]  Paul Vickers,et al.  Using music to communicate computing information , 2002, Interact. Comput..

[30]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[31]  E. Owens,et al.  An Introduction to the Psychology of Hearing , 1997 .

[32]  Margaret-Anne D. Storey,et al.  Theories, Methods and Tools in Program Comprehension: Past, Present and Future , 2005, IWPC.

[33]  John H. Flowers,et al.  Cross-Modal Equivalence of Visual and Auditory Scatterplots for Exploring Bivariate Data Samples , 1997, Hum. Factors.

[34]  Petr Janata,et al.  Marketbuzz: Sonification of real-time financial dataa , 2004 .

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

[36]  Christopher D. Wickens,et al.  An introduction to human factors engineering , 1997 .

[37]  S. Celebrini,et al.  Visuo-auditory interactions in the primary visual cortex of the behaving monkey: Electrophysiological evidence , 2008, BMC Neuroscience.

[38]  Hans G. Kaper,et al.  Data sonification and sound visualization , 1999, Comput. Sci. Eng..

[39]  B. Repp,et al.  Rhythmic movement is attracted more strongly to auditory than to visual rhythms , 2004, Psychological research.

[40]  Lucian Voinea,et al.  The Visual Code Navigator: An Interactive Toolset for Source Code Investigation , 2005, INFOVIS.

[41]  Spencer Rugaber,et al.  The use of domain knowledge in program understanding , 2000, Ann. Softw. Eng..

[42]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[43]  Stephen A. Brewster,et al.  Spatial audio in small screen device displays , 2000, Personal Technologies.

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

[45]  John Klahn,et al.  Principles of universal design , 2010 .

[46]  Mary Czerwinski,et al.  FASTDash: a visual dashboard for fostering awareness in software teams , 2007, CHI.

[47]  D. Scott McCrickard,et al.  Unpacking critical parameters for interface design: evaluating notification systems with the IRC framework , 2004, DIS '04.

[48]  Paul Dourish,et al.  Unifying artifacts and activities in a visual tool for distributed software development teams , 2004, Proceedings. 26th International Conference on Software Engineering.

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

[50]  Terri L. Bonebright,et al.  Sonific ation Report: Status of the Field and Research Agenda , 2010 .

[51]  Paul Vickers,et al.  When bugs sing , 2002, Interact. Comput..