Unlucky Simulation
Talkat FoundationDB Summit 2019 · on Monday, 2019-11-18· at 13:19· Grand Ballroom 5, Marriott Marquis San Diego Marina·
summary
Replacing the fair PRNG with a coverage-guided fuzzer as the source of scheduling choices produces drastically better results: the existing fair RNG runs through 1,000,000 seeds and only slowly improves counterexamples without hitting the minimal interleaving, while the fuzzer-derived inputs find the minimal bug quickly. Implementation wraps a replayable sequence as the RNG interface and also experiments with random task selection instead of a time-ordered queue; both changes reduce compute and expose the rare invariant-violation interleaving reliably.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:16Background
- 1:40Example
- 2:06Swap
- 2:40Clients
- 3:02Minimal Counter
- 3:48Current Strategy
- 4:30Scenario
- 4:50Results
- 6:01Comparison
- 6:35Priority Queue
- 7:17Conclusion
related talks
29mRandomness In Tests (Don't Do It)
20mWhat's the fuzz all about? Randomized data generation for robust unit testing
56mUsing, Generating and Testing with Pseudo-Random Numbers
14mModel-guided Fuzzing of Distributed Systems
15mFuzzing Channel-Based Concurrency Runtimes using Types and Effects
14mFeedback-guided Adaptive Testing of Distributed Systems Designs
37mReal-time Scheduling Fault Simulation
40mProperty-testing async code in Rust to build reliable distributed systems
