Testing a Single-Node, Single Threaded, Distributed System Written in 1985 By Will Wilson
Вставка
- Опубліковано 16 кві 2024
- The super stealth talk by Will Wilson, CEO of Antithesis, that brought the house down at the inaugural Systems Distributed in early 2023. The talk was only ever seen live... until today. We're excited to unveil it together with Antithesis in announcing the next Systems Distributed, SD'24!
antithesis.com - Наука та технологія
This was mind blowing presentation.
My favorite deterministic simulator is Factorio (tbf I haven't tried TB). A deterministic hypervisor is dope!
00:03 Testing distributed systems is complex due to asynchronous communication and multiple computers.
02:39 Testing a Single-Node, Single Threaded, Distributed System
06:44 Testing for unknown unknowns is crucial for robust systems
08:41 Cost of solving bugs increases over time
12:42 Effectively testing a system requires comprehensive exploration of its state space.
14:42 Testing a distributed system can be challenging due to the difficulty in replicating bugs found by users.
18:37 Focusing testing energy on key points can significantly speed up algorithm performance.
20:38 Using Mario's x-coordinate as a guidepost for progress in the game.
24:03 Testing distributed systems often requires considering higher dimensions than initially anticipated.
25:55 Exploring incomparable and unique situations to find bugs in distributed systems.
29:39 Challenges in Branch Execution Order
31:46 Testing a single-node distributed system in 1985 revealed issues with random number generation.
35:22 Applying a mask with low probability makes random distributions more realistic.
37:15 Improving random number distributions for more natural movement and beating levels in old video games.
40:56 Developed a deterministic hypervisor for running software consistently.
43:05 Accessing the program via email subject line.
The talk defines two terms: Strategy and Tactics.
Strategy is the datum you choose to optimize for as the fuzzer randomly walks the states of the system. E.g. optimize to maximize Mario's X value, or optimize for reaching all tile positions etc.
Tactics is the choice of input distribution.
This was awesome! Thank you for sharing.
Great presentation!
The theme song really slaps!
Node js?
LOOOOL