/ go Public
testing: successive integer and boolean mutations can be the same #48291
Issues related to native fuzzing support
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
What version of Go are you using (
Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (
What did you do?
Ran this fuzz test:
I have a bpftrace script:
Using that during runs of FuzzInt etc I can see that I get successive inputs to the fuzzer which are the same. For the boolean it's ~50% of the time, for uint8 about 0.3% and the rest 0.2%. I was taking a look because I had a test with this signature
and I'd see about 1/4 of the time it was executing the same test case as the previous run.
What did you expect to see?
I'd expect a mutation of a boolean to just flip the value true->false, false->true. There's no need for anything probabilistic here. For the ints, it's not as obvious of a problem but if my test signature was
the fuzzer would be doing the same work twice ~0.1% of the time. Not a massive amount but multiplied over all golang CIs, it's significant. My attempt at keeping CO2 in the ground
What did you see instead?
Mutations which are no-ops.
The text was updated successfully, but these errors were encountered: