In this episode, Will Wilson, CEO and co-founder of Antithesis, explores Deterministic Simulation Testing (DST) with host Sriram Panyam. Wilson was part of the pioneering team at FoundationDB that developed this revolutionary testing approach, which was later acquired by Apple in 2015. After seeing that even sophisticated organizations lacked robust testing for distributed systems, Wilson co-founded Antithesis in 2018 to make DST commercially available.
Deterministic simulation testing runs software in a fully controlled, simulated environment in which all sources of non-determinism are eliminated or controlled. Unlike traditional testing or chaos engineering, DST operates in a separate environment from production, allowing for aggressive fault injection without risk to live systems. The key breakthrough is perfect reproducibility — any bug found can be recreated exactly using the same random seed.
Antithesis built “The Determinator,” a custom deterministic hypervisor that simulates entire software stacks including virtual hardware, networking, and time. The system can compress years of stress testing into shorter timeframes by running simulations faster than wall-clock time. All external interfaces that could introduce non-determinism (network calls, disk I/O, system time) are mocked or controlled by the simulator.
The approach has proven effective with major organizations including MongoDB, Palantir, and Ethereum. For Ethereum’s critical “Merge” upgrade in 2022, Antithesis found and helped fix several serious bugs that could have been catastrophic for the live network. The platform typically finds bugs that traditional testing methods miss entirely — such as those arising from rare race conditions, complex timing issues, and unexpected system interactions.
This episode is sponsored by Monday Dev
Show Notes
Related Episodes
- SE Radio 241: Kyle Kingsbury on Consensus in Distributed Systems
- SE Radio 282: Donny Nadolny on Debugging Distributed Systems
Related Resources
- Deterministic Simulation Testing for our Entire SaaS
- The crazy MongoDB bug
- NATS bug: Hunting for one-in-a-million bugs in NATS
- Interview with a DST practitioner: Antithesis-Driven Testing
- Write-up on Ethereum testing: Testing the Ethereum Merge
- FoundationDB paper (PDF) – see section 4 and section 6.2
- 2015 talk at StrangeLoop: Testing Distributed Systems w/ Deterministic Simulation by Will Wilson
- A more recent talk: Testing a Single-Node, Single Threaded, Distributed System Written in 1985 by Will Wilson