Fuzzer

Part of speech: noun

Definitions

  1. A tool or program designed to input random, invalid, or unexpected data into a software system to find bugs or security vulnerabilities
  2. Software used for automated testing by generating and sending large amounts of random data to detect errors or weaknesses in applications
  3. An application that systematically injects malformed or random inputs into a target program to uncover coding flaws or potential security risks

Etymology: "Fuzzer" is built from "fuzz" plus the agent suffix "-er," so it names a thing that does the fuzzing. The interesting part is the verb underneath. "Fuzz" in its older sense meant to make something fluffy or blurred, as in fuzzy fibres or an out-of-focus image, and that picture of noise obscuring a clear signal is what carries over into software. Fuzz testing takes its name from the same idea: the tester drowns a program in erratic, random input and watches for the moment it breaks. The technique is a clean example of a noun formed the plainest way English allows. Nothing about the word needed a coinage or a famous inventor; the suffix does all the work, turning a verb of action into the name of the tool that performs it. Its meaning in computing is simply the narrowed, technical use of that older sense applied to program inputs.

Synonyms: fuzz tester, software tester, test tool