Skip to content

Commit 80b8ff1

Browse files
committed
Add some references on Deterministic Simulation Testing (DST)
1 parent f815710 commit 80b8ff1

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

README.md

+23-1
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,8 @@ more popularity in recent years.
198198
file IO, network, scheduling out of your program to make it more amenable to simulation.
199199
* [What's the big deal about Deterministic Simulation Testing?](https://notes.eatonphil.com/2024-08-20-deterministic-simulation-testing.html)
200200
Phil Eaton gives an introduction to deterministic simulation testing, discussing basics and challenges.
201+
* [What if we embraced simulation-driven development?](https://pierrezemb.fr/posts/simulation-driven-development/) by
202+
Pierre Zemb
201203

202204
More companies and systems adopt deterministic simulation as a primary testing strategy:
203205

@@ -208,8 +210,17 @@ More companies and systems adopt deterministic simulation as a primary testing s
208210
* [Amazon Web Services](#amazon-web-services) uses SimWorld to test Elastic Block Storage control plane
209211
* [Red Planet Labs](#red-planet-labs)
210212
* [Sled](#sled)
213+
* [Polar Signals](#polar-signals) for FrostDB
211214

212-
See also [autonomous testing](#autonomous-testing), [FoundationDB](#foundationdb).
215+
Other collections on deterministic simulation testing:
216+
217+
* [Planet DST](https://deterministic-simulation-testing.github.io/planet-dst/) by Alex Miller
218+
* [So, You Want to Learn More About Deterministic Simulation Testing?](https://pierrezemb.fr/posts/learn-about-dst/) by
219+
Pierre Zemb
220+
* [Awesome Deterministic Simulation Testing](https://github.com/ivanyu/awesome-deterministic-simulation-testing)
221+
collection by Ivan Yurchenko
222+
223+
See also [autonomous testing](#autonomous-testing).
213224

214225
### Autonomous Testing
215226

@@ -422,6 +433,10 @@ See also [formal methods](#formal-methods) section.
422433
correct order from bottom to top.
423434
* [Vacuum Testing for Resiliency: Verifying Disaster Recovery in Complex](https://youtu.be/Qdn2MDMOmOo) — talk on how
424435
BellJar is used at Meta to test recovery of distributed systems
436+
* [Hermit: Deterministic Linux for Controlled Testing and Software Bug-finding](https://developers.facebook.com/blog/post/2022/11/22/hermit-deterministic-linux-testing/)
437+
the first practical deterministic operating system built as an emulation layer on top of Linux kernel. It's
438+
deterministic execution capability help with regression, stress testing and allow for systematic diagnostics
439+
* https://github.com/facebookexperimental/hermit — code for Hermit
425440

426441
### FoundationDB
427442

@@ -773,6 +788,7 @@ distributed SQL-based stream processing platform:
773788
* [Applying Deterministic Simulation: The RisingWave Story](https://www.risingwave.com/blog/applying-deterministic-simulation-the-risingwave-story-part-2-of-2)
774789
They talk about a few kinds of tests they built with the simulator (unit, end-to-end, recovery, scaling), pros, cons
775790
and challenges of this approach.
791+
* [How Randomized SQL Testing Can Help Detect Bugs?](https://risingwave.com/blog/how-randomized-sql-testing-can-help-detect-bugs/)
776792

777793
As a result of this work, they open sourced [MadSim](https://github.com/madsim-rs/madsim) — Magical Deterministic
778794
Simulator for the Rust language ecosystem.
@@ -806,6 +822,12 @@ See also [Jepsen](#jepsen).
806822

807823
See also [formal methods](#formal-methods), [chaos engineering](#chaos-engineering).
808824

825+
### Polar Signals
826+
827+
* [(Mostly) Deterministic Simulation Testing in Go](https://www.polarsignals.com/blog/posts/2024/05/28/mostly-dst-in-go)
828+
829+
See also [deterministic simulation](#deterministic-simulation).
830+
809831
## Single Node Systems
810832

811833
These examples are not about distributed systems, but they demonstrate testing concurrency and level of sophistication

0 commit comments

Comments
 (0)