Skip to content
fuzzing
EntityQ1189053· pop 19· linked from 133 articles

Also known as fuzz testing, FUZZ, software fuzzing

thumb | right | American Fuzzy Lop (software)|American Fuzzy Lop's afl-fuzz running on a test program

Wikidata facts

Image
American fuzzy lop's afl-fuzz running on a test program.png
Show 1 more fact
Sources (2)

via Wikidata · CC0

~22 min read

Article

18 sections
Contents
  • History
  • Early random testing
  • Types
  • Reuse of existing input seeds
  • Aware of input structure
  • Aware of program structure
  • Uses
  • Exposing bugs
  • Validating static analysis reports
  • Browser security
  • Toolchain
  • Automated bug triage
  • Automated input minimization
  • List of popular fuzzers
  • See also
  • References
  • Further reading
  • External links

thumb | right | American Fuzzy Lop (software)|American Fuzzy Lop's afl-fuzz running on a test program

In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exceptions such as crashes, failing built-in code assertions, or potential memory leaks. Typically, fuzzers are used to test programs that take structured inputs. This structure is specified, such as in a file format or protocol and distinguishes valid from invalid input. An effective fuzzer generates semi-valid inputs that are "valid enough" in that they are not directly rejected by the parser, but do create unexpected behaviors deeper in the program and are "invalid enough" to expose corner cases that have not been properly dealt with.

Gallery (2)

Connections

Categories