AADC Tracer FAQ
What is the AADC Tracer?
A recording of a pricing calculation as it runs in the production binary, tied to the source line that performed each step, handed to an AI agent that builds validation evidence from what was computed. Model documentation describes what a model is meant to do; the record shows what the code actually did.
What exactly does the record contain?
Every arithmetic step, comparison and input of the run, each attributed to its file, line and function. From it, any number in the result can be traced back across classes and libraries to the market quotes and constants it came from, and the record shows which inputs it does not depend on.
What is in the validation report?
A specification of what ran, an input classification (market data, calibrated parameters, hard-coded constants with their values and lines), a dependency map, a branch map with each market-dependent decision and its distance to switching, cross-engine benchmarks, AAD sensitivities, findings with severity, file and line and a recommendation, and the explored input box with the sites that were not reached. The sample report on this page is a 15-page example on a barrier option across three engines.
Does tracing change the prices or the speed?
With the switch off the program runs exactly as before: same tape, bit-identical prices, pricing speed unchanged. Recording is 11 to 13 percent slower than a plain run (single runs 9 to 24 percent). With tracing on, which is audit time only, recording is about twice as slow and prices are still bit-identical.
Do I have to change my code?
No code changes. The library is built once with the AADC compiler, production grade at -O2, and tracing is the runtime switch AADC_TRACE=1 on your normal pricing program.
Which languages and libraries does it work with?
C++ and Python. QuantLib 1.41 ships ready to trace as pip install aadc-quantlib-tracing; an in-house library is built once with the compiler. Because the library has to be built with the compiler, tracing a closed vendor binary without its source is not something it does.
What does the AI agent do, and how do I know it is not making things up?
Asked to read source code, a language model infers what the code probably does and can be confidently wrong. Given the record, the agent reads what the code did: the record is its calculator. Every claim in the report cites the file and line it rests on, every formula links to the source lines that compute it, and every result is reproducible because the recordings and re-recordings are kept.
Can a reviewer or a regulator re-run a finding?
Yes. The record and the re-recordings are kept with the report, so any finding can be re-run by a validator, an internal auditor or a supervisor.
What about the branches a single run did not take?
Each market-dependent decision is listed with its distance to switching. For each one the agent finds the inputs that flip it, re-records the unmodified program there, and documents how the model behaves on the other side. Exploration is bounded by the input ranges it is given; branches that cannot be reached within them are reported, not assumed safe.
What does it not do?
It does not replace governance: tiering, approval authority, risk appetite, the question of whether this is the right model for the product, market data for back-testing, calibration quality assessment, and the validation outcome decision all stay with people. A flagged difference is not always material; re-recording decides. Agreement between engines that share curve and library code cannot catch common-mode errors.
Why not use a debugger?
A debugger usually means a -O0 build, so you debug a binary that is not the one in production, one stop at a time, and values that cross classes arrive as plain numbers with their origin lost. The record is taken from the -O2 production binary, holds the whole calculation as data that an agent can query without stepping, keeps the origin of every value, and replays at new inputs in milliseconds.
Is this not what SecDB-style platforms already have?
Inside the largest in-house platforms the dependency graph has existed for decades, and it comes with the platform: to ask where a number came from, a bank had to adopt the whole system and move its models onto it. The Tracer records the dependency structure of a valuation from the library you already run, with one environment variable and no migration.
What does a prospect receive, and does it run without MatLogica software?
The validation report, the record, the re-recordings, and readable source reconstructed from the recording. The reconstructed code compiles on its own, with none of our software present at the deployment site, so the evidence can be inspected and run without us.
How long does a recording take?
One QuantLib swaption price gave 74,428 recorded steps across about 40 source files, 140 hard-coded numbers that reach the price, three day-count conventions in one valuation and 85 market-dependent branches, all from a single 17 ms recording.
Which regulatory expectations does the evidence speak to?
Evidence from the binary that runs in production is the focus of PRA SS1/23, Federal Reserve SR 26-2 and the ECB guide to internal models; the report is organised so that validation and audit teams can map its sections to those expectations.
Can it generate model documentation?
Yes. Documentation generated from what the code computed cannot drift from the code, because it is produced from the record of the run rather than from a description of the design.
Is it useful to quant developers outside validation?
Yes: trace a wrong number to its source, and see exactly what a code change did to the calculation by comparing the records of the two runs.
What if an agent wrote the pricer?
The Tracer validates what the code computed, not what its author says it computes, so it applies equally to code written by people, by a coding agent, or by both; the documentation an assistant wrote from the source is checked against the record of the run.
Can I run it myself?
Yes. pip install aadc-quantlib-tracing on Linux x86-64 with Python 3.10 to 3.14 gives QuantLib 1.41 with tracing built in, and the scripts that reproduce every figure on this page ship with it.
What does it cost?
The package ships under the AADC Community Edition licence: free for non-commercial and academic use. Commercial use and full-performance academic use are licensed by MatLogica; the form on this page starts that conversation.
Who makes it?
MatLogica Ltd, London, the company behind the AADC compiler. The Tracer was presented at the 22nd WBS Quantitative Finance Conference in Valletta in October 2026.