Abstract image of red and blue light streaks flowing against a black background

Auditory Console Logging: Identifying Bugs by Listening to Code Execution

If code was a musical score, how would it sound when played?  Would it be possible to identify patterns and even problems by listening to it?

This was the idea behind a random side project. The mission: improve situational awareness of program execution by involving another sense: hearing. Ideally, use this to identify bugs or other issues we’d otherwise miss.

We built a runtime flag to add “audio logging” to our product. Specifically, it makes our client datastore play musical notes during transactions. Each operation, such as a load or an update, gets assigned a unique musical note. Then, the client plays that musical note during the duration of that operation. Sometimes, multiple operations are being processed simultaneously, resulting in interesting chords.

Jira sounds like fireworks

If you want to try this yourself, there’s a URL below to enable it. The page will remember this setting until it is reloaded or navigated. If you’re new to Visor, this link will also let you create a free account to try it.

https://app.visor.us/sheets?pageConfig-cloudstore-debugging-playMelody=true

Note that browsers require some interaction with the page before any audio can play, so you may miss out on the the initial load of a given page.

Here’s what an import from Jira sounds like. (It reminds me of fireworks)

During an import, you can hear the data flowing into the workbook. And you can also hear the final step at the end, when nesting relationships are finally established – like the finale of the performance.

And here’s the cacophony of creating a brand new workbook:

If code was music, how would it sound? Would it be possible to identify patterns and even problems by listening to it? This was the idea behind a random side project to involve another sense in the software development experience.

Discoveries while building

One of the discoveries we’ve made via this is that an extra, unnecessary search runs in the comment composer. When a user finishes a search for a user to mention, the field goes empty and another search runs. Hearing this allowed us to track this down and realize the issue.

Notice the second tone after the mention is completed. The system is running an extra, unnecessary search for an empty query.

Audio debugging alerted us to the existence of an extra “search” running when it didn’t need to.

We’ll be continuing to explore how else we can use sound to improve our understanding of the product. What are some ideas you have for how sound could improve your building and debugging experience?

Are you ready to begin?

Visor is secure, free, and doesn't require a credit card.

Get Started For Free