Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

Published November 2, 2022 | Version 0.2
Software Open

Fine-Grained Coverage-Based Fuzzing - Artifact

  • 1. Université Paris-Saclay, CEA, List, France and University of Southern California, USA
  • 2. Université Paris-Saclay, CEA, List, France
  • 3. University of Southern California, USA

Description

Fuzzing is an effective software testing method that discovers bugs by feeding target applications with (a massive amount of) automatically generated inputs. Many state-of-art fuzzers use branch coverage as a feedback metric to guide the fuzzing process. The fuzzer retains inputs for further mutation only if branch coverage is increased. However, branch coverage only provides a shallow sampling of program behaviours and hence may discard inputs that might be interesting to mutate. Our work aims at taking advantage of the large body of research over defining finer-grained code coverage metrics (such as control-flow or mutation coverage) and at evaluating how fuzzing performance is impacted when using these metrics to select interesting inputs
for mutation. We propose to make coverage-based fuzzers support most fine-grained coverage metrics out of the box (i.e., without changing fuzzer internals). We achieve this by making the test objectives defined by these metrics (such as condition to activate or mutants to kill) explicit as new branches in the target program.

The upload software contains the programs required to reproduce our evaluation results.

Files

artifact.zip

Files (2.9 GB)

Name Size Download all
md5:2a0632e1be4f63fdcdae33824e9260bb
2.9 GB Preview Download