posted on 2022-07-04 14:31:44
Fuzzing is essentially testing code with lots random inputs to hopefully get a crash if the code is incorrect.
AFL (American Fuzzy Lop ^ thanks wikipedia) is a bit smarter than the average jank script though, being a genetic fuzzer which uses the compiler's knowledge of branches (if
/while
) to aggressively root out new paths through code, keeping "interesting" inputs for further mutation in some loose analogy to evolutionary success. This also takes some extra setup, but is
extremely
effective
in practice for finding elusive bugs.