What's the big deal about Deterministic Simulation Testing?

from blog Notes on software development, | ↗ original
Bugs in distributed systems are hard to find, largely because systems interact in chaotic ways. And even once you've found a bug, it can be anywhere from simple to impossible to reproduce it. It's about as far away as you can get from the ideal test environment: property testing a pure function. But what if we could write our code in a way that...