Read the report here. Its artifacts are in the report subdirectory. The report is licensed under CC BY-NC-ND 4.0.
Code to perform performance tests outside of the fuzzer and their results can be found in performance_test.
This project is written in rust/cargo (make sure you have a current version installed) and uses cargo make to document and automate the build steps.
Clone the repository using
git clone --recurse-submodules https://github.com/riesentoaster/coreutils-differential-fuzzing.gitTo build all the necessary artifacts
- Navigate to the fuzzer directory:
cd coreutils-differential-fuzzing/fuzzer - Run the fuzzer in its full differential mode using
cargo make run- The build process may take a few minutes since it contains multiple helper binaries and both GNU's and coreutils' version of coreutils.
- Check out the options using
cargo make run --help, you may want to use some likecargo make run --cores 0-16
Other targets include:
cargo make fuzzerto only build the binaries without starting the fuzzercargo make fuzzer_gnuto only run on GNU's version of coreutils (without differential fuzzing)cargo make fuzzer_uutilsto only run uutils' versioncargo make runto directly run the fuzzer (resp.cargo make run_gnu/cargo make run_uutilsto directly run the fuzzer on one implementation only)- Check
Makefile.tomlfor other targets