Workshop: Hearing Program Behavior with TSAL
Abstract: Much work has been done in the area of real-time algorithm visualization, in which a program produces a graphical representation of its behavior as it executes. In this lightning talk, we examine the relatively uncharted territory of real-time audialization, in which a program produces a sonic representation of its behavior as it executes. Such work seems apt to be beneficial for auditory learners, especially those with visual disabilities. To support this exploration, we have created the Thread Safe Audio Library (TSAL), a platform-independent, object-oriented C++ library that provides thread-safe classes for mixing, synthesizing, and playing sounds. Using TSAL, we can create an audialization by taking a working program and adding library calls that generate behavior-representing sounds in real time. If a program is multithreaded, each thread can play distinct sounds, allowing us to hear the multithreaded behavior. This lightning talk provides an overview of TSAL and demonstrates several audializations, including the Producers-Consumers Problem, Parallel MergeSort, and others.