CodeDrummer: 1 2 3 1 CodeDrummer: Sonification Methods of Function Calls in Program Execution Kazuya Sato, 1 Shigeyuki Hirai, 2 Kazutaka Maruyama 3 and Minoru Terada 1 We propose a program sonification system focused on the nesting structure of function calls at the runtime. In this paper, we apply several sonification methods to various programs, and compare their results. We use musical expression, especially rhythm patterns for the sonification. This enables the user to enjoy listening to the sound as an entertainment in addition to understanding the processing flow of the program. 1 Graduate School of Information and Communication Engineering, The University of Electro- Communications 2 Faculty of Computer Science and Engineering, Kyoto Sangyo University 3 1. Processing 1 ActionScript 2 2. CodeDrummer CodeMusician 1) 1 Information Technology Center, The University of Tokyo 1 http://processing.org/ 2 http://www.adobe.com/devnet/actionscript.html 1 c 2011 Information Processing Society of Japan
1 1 CodeDrummer CodeMusician 1 1 3. CodeDrummer 3.1 3.3.1 3.2 3 1 2 1 3 3.3 1 1 Fig. 1 Overview of proposal system 2 2 3 3.3.1 3.3.1 8 8 3.4 2 1 2 2 c 2011 Information Processing Society of Japan
4 Fig. 4 QuickSort.main 1,3,5,7 Sequence editor (Method of QuickSort.main has 1st, 3rd, 5th and 7th beats) 2 Fig. 2 Function call tree of the example program 3 1 Fig. 3 Rhythm pattern generated from method 1 5 Fig. 5 Function call tree of the example program 3.5 3 5 6 7 8 3 c 2011 Information Processing Society of Japan
6 2 Fig. 6 Rhythm pattern generated from method 2 4. 4.1 GUI Adobe Systems Flex 1 BEST SERVICE PS15 DANCE DRUM 2 CD 1300 Flex MP3 CSS 4.2 Web C Java 4.2.1 PHP 2) 4.2.2 MySQL 7 Fig. 7 Function call tree of the example program 8 3 Fig. 8 Rhythm pattern generated from method 3 1 http://www.adobe.com/jp/products/flex 2 http://www.crypton.co.jp/mp/do/prod?id=19750 4 c 2011 Information Processing Society of Japan
5. 5.1 3 1 2 3 HelloWorld gcc :456 Java :30 C :14 5.2 1 2 1 3 2 6. (Auditory Display) (Sonification/Auralization) 1990 ICAD 1992 3) AM 1950 1960 4) Vickers 7) CAITLIN 6.1 CAITLIN Vickers Pascal CAITLIN 5) Selection( ) Iteration( ) (leitmotif) 6.2 Java 1500 ( ) 6) 6.3 InfoSound Sonnenwald InfoSound 3) 6.4 Sonnet Jameson Sonnet 8)9) C 5 c 2011 Information Processing Society of Japan
6.5 ADSL Dale C ADSL 10) cranking stamping 6.6 Christopher Logo LogoMedia 11) David LISTEN 12) 7. 3 1 1 1 1),, : CodeMusician:, 3, (2009). 2) Minoru Terada: ETV: a program trace player for students, in Proc. of the 10th annual SIGCSE conference on Innovation and technology in computer science education, pp.118-122 (2005). 3) Sonnenwald, D. H., Gopinath, B., Haberman, G. O., Keese, William M, I., and Myers, J. S.: InfoSound: An audio aid to program comprehension, in 23rd Hawaii International Conference on System Sciences, (1990). 4) Paul Vickers, James L. Alty: Siren songs and swan songs debugging with music, Communications of the ACM Vol.46, No.7, pp.86-92 (2003). 5) James. L. Alty and Paul Vickers, The CAITLIN Auralization System: Hierarchical Leitmotif Design as a Clue to Program Comprehension, in Proc. The Fourth International Conference on Auditory Display, pp.89-96 (1997) 6) :, 8,, (2000). 7) Paul Vickers: Program Auralization: Author s Comments on Vickers and Alty, ICAD 2000, ACM Transactions on Applied Perception, Vol.2 Issue 4, pp.490-494 (2005). 8) Jameson D. H.: Sonnet: Audio-Enhanced Monitoring and Debugging, Auditory Display, Vol.XVIII, pp.253-265 (1994). 9) Jameson D. H.: The Run-Time Components of Sonnet, Proc. of the Second International Conference on Auditory Display ICAD 94 (1994). 10) Dale S. Bock: ADSL: An Auditory Domain Specification Language for Program Auralization, Proc. Second International Conference on Auditory Display, pp.251-256 (1994). 11) Christopher J. DiGiano, et.al.: LogoMedia: a sound-enhanced programming environment for monitoring program behavior, in CHI 93 Proceedings of the INTER- ACT 93 and CHI 93 conference on Human factors in computing systems, pp.301-302 (1993). 12) David B.Boardman, et.al.: LISTEN: A Tool to Investigate the Use of Sound for the Analysis of Program Behaviour, in Proc. 19th International Computer Software and Applications Conference, pp.184-189 (1995) 6 c 2011 Information Processing Society of Japan