Description
With the increasing scale of the average software project come many challenges. To
ensure compliance with specifications, software has to be tested. Program input cannot
be adequately covered by unit tests, since unit tests, by design, are unable to cover
the whole input space of a parameter. This leads to an increased demand for fuzztesting.
However, fuzzing at scale is time-consuming and costly because in a traditional
library fuzzing environment the driver generation and most of the categorising and
deduplication of crashes has to be performed manually. Even with automatic driver
generation one problem persists: the problem of library misuses.
As demonstrated by Chen et al.(2023) [3], there are merits for consistent detection
of misuses in the fuzzing process. They demonstrated that misuse detection can
significantly improve fuzzing efficiency for interpreter-based fuzzing. In this paper,
the automatic detection of misuses for more general, coverage guided graybox fuzzers
is implemented for crashes in american fuzzy lop ++ (AFL++) and the advantages of
different dynamic detection methods are discussed.
|