Listening for bugs

This is kind of interesting. Pity they based it on Pascal: limits the immediate real-world applications somewhat.

There’s more info on the project’s site and here (warning: nasty cursor-tracking animation thingy). The sound downloads appear to be missing, but there’s some disappointingly simple ones here.

I wonder what kind of audible difference there would be between equivalent programs written in different languages. I imagine C++ as sort of fast and spiky (like, say, the The Rite of Spring), and VB as slower and more melodic. Hopefully, someone will turn this into a Visual Studio addin soon. I must know what COM Interop sounds like.

This stuff reminds me of the stories of programming poineers debugging programs on early systems by listening to the radio interference generated by the machine. Always wondered about that, but it appears to be plausible.

Musical approach helps programmers catch bugs

09:32 05 September 02
Exclusive from New Scientist Print Edition
Making music out of computer code is helping programmers to catch the bugs that can cause software to go awry.

Computer code is often prone to errors that are difficult to spot. In a long program, made perhaps of hundreds or thousands of lines of programming language code, it is possible for the writer to misjudge how the various elements of the software will work together.

So-called debugging software can iron this out, by letting people look at a graphical representation of a program. This helps find bugs by highlighting which parts of a program are communicating with others.

But the computer’s sound capabilities are ignored in debugging, says Paul Vickers at the University of Northumbria. “It’s sitting there as a completely unused channel, while lots of effort is being put into visualisation tools.”

So Vickers and James Alty of Loughborough University developed a system that automatically converts computer program code written in Pascal into simple “music”.

When different sections of code are put together, they should form a harmonious tune. But if a loop, for example, does not execute properly, the music would not ascend properly and the programmer should hear the error. Similarly, a duff statement would produce a different chord that would be immediately apparent.