|
|
|
|
|
by teiferer
16 days ago
|
|
> wrote a fuzzer for its prototype which explored and verified that its reasoning was correct. It absolutely nailed it. For such a data structure, "nailing it" means a formal proof of correctness. Fuzzing, as useful as it is, is merely throwing dirt at the wall and seeing if anything sticks. |
|
I’ve read plenty of papers with “formal proofs of correctness” that turned out to have huge flaws. Machine verifiable proofs I trust. But I’ve personally found more bugs with fuzzing than I have via proofs.