SE Radio 685: Will Wilson on Deterministic Simulation Testing

SE Radio 685: Will Wilson on Deterministic Simulation Testing

Author: SE-Radio Team September 10, 2025 Duration: 1:01:14
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

For developers who think deeply about their craft, Software Engineering Radio-The Podcast for Professional Software Developers offers a steady, thoughtful conversation about building software. This isn't about chasing headlines or quick tips; it's a deliberate exploration of the principles, patterns, and hard-won insights that define lasting work in the field. The SE-Radio Team creates each episode as original, standalone content, ensuring you get focused depth rather than recycled conference talks. Every ten days, a new installment arrives, alternating between detailed tutorial-style deep dives on specific technologies or methodologies and candid interviews with influential voices and practitioners from across the industry. Tuning in means joining a continuous learning journey where complex topics are broken down with clarity, from system architecture and language design to team dynamics and career development. This podcast serves as a reliable educational archive, a resource you can return to as your experience grows, always anchored in the realities and challenges faced by professional developers every day.
Author: Language: en-us Episodes: 100

Software Engineering Radio - The Podcast for Professional Software Developers
Podcast Episodes
SE Radio 666: Eran Yahav on the Tabnine AI Coding Assistant [not-audio_url] [/not-audio_url]

Duration: 1:02:05
Eran Yahav, Professor of Computer Science at Technion, Israel, and CTO of Tabnine, speaks with host Gregory M. Kapfhammer about the Tabnine AI coding assistant. They discuss how the design and implementation allows softw…
SE Radio 663: Tyler Flint on Managing External APIs [not-audio_url] [/not-audio_url]

Duration: 52:27
Tyler Flint, CEO of qpoint.io, joins host Robert Blumen for a conversation about managing external vendor dependencies, including several best practices for adoption. They start with a look at internal versus external se…
SE Radio 662: Vlad Khononov on Balancing Coupling in Software Design [not-audio_url] [/not-audio_url]

Duration: 56:19
Software architect and author Vlad Khononov joins host Jeff Doolittle for a discussion on balancing coupling in software design. They start by examining coupling and its relationship to complexity and modularity. Vlad ex…
SE Radio 661: Sunil Mallya on Small Language Models [not-audio_url] [/not-audio_url]

Duration: 59:28
Sunil Mallya, co-founder and CTO of Flip AI, discusses small language models with host Brijesh Ammanath. They begin by considering the technical distinctions between SLMs and large language models. LLMs excel in generati…
SE Radio 660: Pete Warden on TinyML [not-audio_url] [/not-audio_url]

Duration: 55:04
Pete Warden, CEO of Useful Sensors and a founding member of the TensorFlow team at Google, discusses TinyML, the technology enabling machine learning on low-power, small-footprint devices. This innovation opens up applic…
SE Radio 659: Brenden Matthews on Idiomatic Rust [not-audio_url] [/not-audio_url]

Duration: 53:54
Brenden Matthews, a seasoned software engineer, entrepreneur, and author of the Idiomatic Rust and Code Like a Pro in Rust books (both from Manning), speaks with SE Radio host Gavin Henry about Idiomatic Rust. They start…
SE Radio 658: Tanya Janca on Secure Coding [not-audio_url] [/not-audio_url]

Duration: 1:11:40
Tanya Janca, author of Alice and Bob Learn Secure Coding, discusses secure coding and secure software development life cycle with SE Radio host Brijesh Ammanath. This session explores how integrating security into every…
SE Radio 657: Hong Minhee on ActivityPub and the Fediverse [not-audio_url] [/not-audio_url]

Duration: 40:09
Hong Minhee, an open source developer and creator of the Fedify ActivityPub library, discusses the ActivityPub protocol and the fediverse with SE Radio's Jeremy Jung. They explore ActivityPub use cases, including microbl…