Instrument Your Code So it Can Sing
Much like the human spirit, there is limitless potential to be gained from code that observes itself—code that holds itself accountable for its performance and behavior. The pre-C++26 world we live in offers only a fraction of the reflection capabilities we may soon see standardized, but still allows for a wealth of runtime and compile-time introspection.
In this talk, we’ll explore the construction of three static instrumentation tools: heap allocation trackers, function profilers, and data race detectors, each viewed from the bias of an audio programmer. The goal with all of these tools is to elegantly enforce desired behavior from within a typical C++ test suite without relying on runtime logging or postmortem analysis. Violations of your performance, threading, or other behavioral rules cause tests to fail, delivering fast feedback and confidence in your code.

Adam Shield
Staff Software Engineer at Antares Audio Technologies (AutoTune) specializing in C++ and JUCE. Adam has built a vast portfolio of cross-platform audio plugins, libraries, and applications. He is rigorous and passionate about the quality and scalability of his code and travels full-time as a digital nomad.
Adam’s talk “‘Constexpr ALL the Things’ in Audio Programming” was presented at ADC 2022: