Fuzzing: The State of the Art

Abstract

Fuzzing is an approach to software testing where the system being tested is bombarded with test cases generated by another program. The system is then monitored for any flaws exposed by the processing of this input. While the fundamental principles of fuzzing have not changed since the term was first coined, the complexity of the mechanisms used to drive the fuzzing process have undergone significant evolutionary advances. This paper is a survey of the history of fuzzing, which attempts to identify significant features of fuzzers and recent advances in their development, in order to discern the current state of the art in fuzzing technologies, and to extrapolate them into the future.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 2012
Accession Number
ADA558209

Entities

People

  • Damien Gerhardy
  • Duncan Grove
  • Ken Yiu
  • Richard Mcnally

Organizations

  • Defence Science and Technology Group

Tags

Communities of Interest

  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Application Protocols
  • Computer Program Documentation
  • Computer Program Reliability
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Cybersecurity
  • Debugging
  • Literature Surveys
  • Network Protocols
  • Operating Systems
  • Software Development
  • Software Testing
  • Systems Engineering
  • Web Browsers
  • Word Processors

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Systems Analysis and Design