

The Evolution of Deterministic Simulation Testing
Join us for a talk by Michael Vaughn, a Senior Software Engineer at Antithesis.
Title: The Evolution of Deterministic Simulation Testing
Overview: Distributed systems are extremely difficult to build: events are partially ordered, executions have many possible interleavings, and hardware and network links can crash arbitrarily. Bugs are difficult to elicit with unit tests: events if the root cause is known, the exact conditions that elicit the bugs are difficult to produce at the correct time, owing to the underlying determinism inherent in real-world hardware and software stacks.
Deterministic Simulation Testing (DST) addresses these problems by performing autonomous testing on distributed systems inside a deterministic harness. I will discuss the various approaches that have been developed, starting with bespoke solutions like FoundationDB, which require designing the system with DST in mind, so that the harness is built hand-in-hand with the system. I will cover the evolution from this approach to contemporary systems like Antithesis which provide a general-purpose approach to DST, as well as hybrid approaches such as threading-runtime-based DST