Generation Fuzzing
There are typically two methods for producing fuzz data that is sent to a target, Generation or Mutation. Generational fuzzers are capable of building the data being sent based on a data model provided by the fuzzer creator. Sometimes this is as simple as sending random bytes. This can be done much smarter by knowing good data values and combining them in interesting ways.
Mutation on the other hand starts out with a known good "template" which is then modified. Unlike Generational Fuzzing anything that is not present in the "template" or "seed" will not be produced. For example, if a file format specified 18 types of chunks or optional data segments and the "template"/"seed" only used four (4) of them, a mutational based fuzzer would never generate the other chunks not present. It would only modify the chunks it is presented with.