Deterministic Simulation Testing
A walkthrough of how and why complex infrastructure should be built with deterministic simulation, and how to make such tests as productive as possible for developers.
Guide
The first and most vial requirement for deterministic simulation is to have a
scheduler that controls and executes units of concurrent work. With this alone,
we can build a deterministic simulated program which supports arbitrary
concurrent computation, but no external system interaction.
2021-12-20
BUGGIFY
When application code provides high-level fault injection points, fuzzing becomes significantly more effective.
Each simulation test has one or more concurrent workloads. Defining
Case Studies
See discussion of this page on Reddit, Hacker News, and Lobsters.