fuzzing
Fuzzing, or fuzz testing, is an automated software testing technique that feeds invalid, unexpected, or random inputs to a computer program in order to trigger crashes, assertion failures, or other abnormal behavior. The goal is to uncover vulnerabilities and robustness problems that arise from improper input handling, memory safety issues, or logic errors. Fuzzing is widely used in software security to identify bugs that could be exploited in real-world attacks, as well as to improve input validation and fault tolerance.
The technique originated in the late 1980s with experiments by Barton Miller at the University of California,
Typical fuzzing workflows involve creating a harness that exercises the target software, supplying a seed corpus,
Prominent fuzzing tools include AFL (American Fuzzy Lop) and libFuzzer, both of which support coverage-guided fuzzing,