![Page 1: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/1.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
1
Jlisten: A Tool for Program Auralization
Last Update: August 6, 2003
Aditya Mathur
![Page 2: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/2.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
2
What is program auralization?
Program auralization refers to the task of mapping program events and activities to sounds.
Program events:
“Sonification” is another term for “auralization.”
Execution begins
Control enters a loop.
Method check_balance is invoked.
Variable her_balance becomes greater than $1 million.
![Page 3: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/3.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
3
Program events
Execution begins
Control enters a loop.
Method check_balance is invoked.
Variable her_balance becomes greater than $1 million.
![Page 4: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/4.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
4
Program activities
Method detect_intrusion is executing.
Loop starting at label sort_begin is executing.
![Page 5: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/5.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
5
Why auralize?
An auralized program can be “heard” while it executes.
Hearing the execution of an auralized program enables the detection of mapped events and activities.
Sound serves as a complement to printed or other visual media.
Sound allows the detection of events without having to “dig” into the program through a debugging or other tool.
![Page 6: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/6.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
6
Past work in program auralization
Listen project at Purdue: Originally by Boardman and Mathur.
Several other (data) sonification projects at Georgia Tech, U of Illinois, Northumbria University, Sante Fe institute, etc.
http://www.cc.gatech.edu/computing/classes/cs7390_96_winter/feb14.html
http://computing.unn.ac.uk/staff/cgpv1/caitlin/
http://www.cs.purdue.edu/homes/apm/listen.html
![Page 7: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/7.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
7
Jlisten: How does it work?
![Page 8: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/8.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
8
Sample LSL spec [1]
/************************************************************************* File : sort.lsl* Author : David B. Boardman* Date : Aug 1994** For the bubble, insertion, and selection sort, this* specification auralizes the begin and end of a * program, the number of comparisons, and the* element swapped.*************************************************************************/
![Page 9: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/9.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
9
Sample LSL spec [2]begin auralspecspecmodule tempbegin temp
syncto mmabs q = 60;
notify rule = prog_begin using begin_snd;notify rule = prog_end using end_snd;
notify rule = while_body_begin using sticks_sndin func = "insert_sort";
notify rule = while_statement_exit using sticks_sndin func = "insert_sort";
![Page 10: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/10.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
10
Sample LSL spec [3]
notify rule = for_body_begin using sticks_sndin func = "bubble_sort" and func = "selection_sort";
dtrack tempwhen rule = function_entry:"exchange"until rule = function_return:"exchange"using flute2_snd;
end temp;end auralspec.
![Page 11: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur](https://reader036.vdocuments.us/reader036/viewer/2022072012/56649e405503460f94b3210c/html5/thumbnails/11.jpg)
August 7, 2003 BITS C461/IS C341 Software Engineering
11
Your tasks
Understand the problem well.
Perform requirement analysis. Make good use of information and components already available to you.
Design the Jlisten system.
Prototype Jlisten and have fun with it!
Can a program be mapped to Music?
Let us investigate through experimentation!