There is a newer version of the record available.

Published May 27, 2023 | Version v3
Software Open

Mu2: Guiding Greybox Fuzzing with Mutation Testing (Artifact)

  • 1. Carnegie Mellon University
  • 2. Swarthmore College
  • 3. University of Minnesota
  • 4. University of Rochester

Description

This artifact accompanies the paper "Guiding Greybox Fuzzing with Mutation Testing" (included as a PDF), accepted at ISSTA 2023.

Paper Abstract

Greybox fuzzing and mutation testing are two popular but mostly independent fields of software testing research that have so far had limited overlap. Greybox fuzzing, generally geared towards searching for new bugs, predominantly uses code coverage for selecting inputs to save. Mutation testing is primarily used as a stronger alternative to code coverage in assessing the quality of regression tests; the idea is to evaluate tests for their ability to identify artificially injected faults in the target program. But what if we wanted to use greybox fuzzing to synthesize high-quality regression tests?


In this paper, we develop and evaluate Mu2, a Java-based framework for incorporating mutation analysis in the greybox fuzzing loop, with the goal of producing a test-input corpus with a high mutation score. Mu2 makes use of a differential oracle for identifying inputs that exercise interesting program behavior without causing crashes. This paper describes several dynamic optimizations implemented in Mu2 to overcome the high cost of performing mutation analysis with every fuzzer-generated input. These optimizations introduce trade-offs in fuzzing throughput and mutation killing ability, which we evaluate empirically on five real-world Java benchmarks. Overall, variants of Mu2 are able to synthesize test-input corpora with a higher mutation score than state-of-the-art Java fuzzer Zest.

Files

paper.pdf

Files (4.7 GB)

Name Size Download all
md5:a318ce94421667147b4fc3db8c9b2d2b
707.6 MB Download
md5:c0a4da52dab34b7dc17e2ca4e95050f8
7.6 MB Preview Download
md5:0cb29c5a0b2831e7d39b6a8211add12a
4.0 GB Preview Download
md5:3edf66cc4f5d9647fc60ea7c603f55ec
8.3 kB Preview Download