4 ms·
They are fundamentally the same in a lot of important ways. Any fuzz test is almost certainly (if not entirely certainly) a property test. In Rust the driver f
by staticassertion 5y ago
They are fundamentally the same in a lot of important ways. Any fuzz test is almost certainly (if not entirely certainly) a property test.
In Rust the driver for property and fuzz testing can be shared, which is nice[0].
https://docs.rs/arbitrary/1.0.1/arbitrary/trait.Arbitrary.html https://docs.rs/arbitrary/1.0.1/arbitrary/trait.Arbitrary.ht...
By describing my data with arbitrary I've written programs that had traditional property testing and fuzz-testing as well, without any additional effort.
It's only really post-AFL where fuzzing has suddenly become synonymous with instrumentation guided data generation, which is a totally fine distinction to make, but they're still fundamentally equivalent. The first fuzzers were virtually identical to prop test frameworks today.
I'd be fine with dropping the "fuzzing" name entirely and instead just having us use the term property testing, with "data generation" being the thing we start differentiating ie: "random prop testing" or "instrumentation guided prop testing" or "type based prop testing" etc.