Abstract

Fuzz testing is an effective technique for finding security vulnerabilities in software. Traditionally, fuzz testing tools apply random mutations to well-formed inputs of a program and test the resulting values. We present an alternative whitebox fuzz testing approach inspired by recent advances in symbolic execution and dynamic test generation. Our approach records an actual run of the program under test on a well-formed input, symbolically evaluates the recorded trace, and gathers constraints on inputs capturing how the program uses these. The collected constraints are then negated one by one and solved with a constraint solver, producing new inputs that exercise different control paths in the program. This…

Citation impact

1,053
total citations
FWCI
115.56
Percentile
100%
References
25
Citations per year

Authors

3

Topics & keywords

Keywords
  • Fuzz testing
  • Computer science
  • Symbolic execution
  • Concolic testing
  • Programming language
  • x86
  • Code coverage
  • Emulation
UN Sustainable Development Goals
  • Peace, Justice and strong institutions
No related works found for this paper.