Back To Schedule

Architectural Metrics for Audio Software

00:00 - 00:00 UTC | Monday 9th November 2026 |
Beginner
Intermediate
Advanced

"Using Metrics from the literature to identify architectural problems, their cost and location, through both static and run-time analysis"

The Software Architecture literature is a rich source of actionable advice on how to best structure applications to meet their planned requirements, advice that is highly applicable to large audio software codebases.

Often authors go one step further, offering quantitative means for measuring how well or badly your codebase follows this advice, and where the problems are located, so that you can address them.

We have implemented 10 different such metrics. Some mainly measuring Effects, giving insights on team performance, codebase health, testability, and cognitive load. Others identify Causes, through physical file level coupling, various types of code-level coupling, and metrics drawing conclusions from git and Jira history. We have also implemented tools for run-time performance analysis, to identify how our architectural choices affect audio performance.

From our experience having read ~25 such books and implementing these 10 metrics for a sizeable C++ real-time audio embedded codebase, we will discuss how we adapted them, and present advice on how to best implement these concretely. We will show how to use them to drive architectural platform improvement work, from the planning stage, through to tracking the work during the implementation, and finally observing in pipelines how the end results’ architectural quality is maintained through Fitness Functions - a sort of architectural “unit-tests”.

Ilias Bergström

Software Specialist

Bang & Olufsen

Computer Scientist, Researcher, Interaction Designer, Musician, with a love for all music but especially live performance.

I've worked on developing several applications for live music, audiovisual performance, and use by experts, mainly using C++.

My career spans more than 20 years of developing media technology software, and of working as a researcher on the topic, in equal measure.