Glossary
Fuzzing
Automated testing that feeds a program large numbers of generated inputs to find crashes; coverage-guided fuzzers evolve inputs that reach new code.
Fuzzing is an automated testing technique that runs a program on large volumes of generated or mutated inputs and watches for crashes, hangs and sanitizer reports. Coverage-guided fuzzers such as libFuzzer, AFL++ and honggfuzz instrument the target, keep inputs that reach new code paths, and mutate them further, progressively exploring deep program logic.
Combined with sanitizers, fuzzing is one of the most effective ways to find memory-safety bugs in parsers and protocol handlers. Services such as OSS-Fuzz and ClusterFuzzLite run fuzzers continuously. See coverage-guided fuzzing with libFuzzer and AFL++.