A side benefit of attempting fuzzing is highlighting code built on an anemic domain model. When the code takes some string-y input and stuffs it into types that amount to little more than aggregations of values, fuzzing can't do much. If programmers haven't at least attempted to define what allowable values are for these types, fuzzing can't help identify any problems.
This Go example[1] demonstrates how fuzzing helps precisely define what a valid string is for the purposes of reversing it.
This Go example[1] demonstrates how fuzzing helps precisely define what a valid string is for the purposes of reversing it.
1. https://go.dev/doc/tutorial/fuzz