4 ms·
Dropbox does, essentially, fuzzing of Rust async code and it is determistic. I couldn't find a post about it, sadly, but I know the information is out there so
by staticassertion 7y ago
Dropbox does, essentially, fuzzing of Rust async code and it is determistic.
I couldn't find a post about it, sadly, but I know the information is out there somewhere.
- ccktlmazeltov 7y agosource? Can't find anything on that either
- staticassertion 7y agohttps://dropbox.tech/infrastructure/rewriting-the-heart-of-our-sync-engine https://dropbox.tech/infrastructure/rewriting-the-heart-of-o... > The Control thread is designed to be entirely deterministic when its inputs and scheduling decisions are fixed. We use this property to fuzz it with pseudorandom simulation testing. With a seed for our random number generator, we can generate random initial filesystem state, schedules, and system perturbations and let the engine run to completion. Then, if we fail any of our sync correctness checks, we can always reproduce the bug from the original seed. We run millions of scenarios every day in our testing infrastructure.