Fuzzing Unit Tests with Deep State and Eclipser
Summary: Trail of Bits integrated Eclipser, a fuzzer presented in an ICSE 2019 paper, into its DeepState property-based testing tool for C and C++, adding a front-end that translates DeepState arguments and extracts standalone test cases from Eclipser's custom output format. The authors report Eclipser beat KLEE on coreutils code coverage, beat AFLFast, LAF-intel, VUzzer and Steelix on LAVA-M bug detection, and beat AFLFast and LAF-intel on real Debian packages, producing eight new CVEs.
Bottom line: Eight new CVEs came out of the Debian experiments alone, yet Trail of Bits' own preliminary tests found Eclipser slightly worse than AFL on a file system and a red-black tree, and some red-black-tree bugs needed a specialized symbolic execution harness that Eclipser could not help with - so the fuzzer that wins the paper is not the fuzzer that finds every bug in your code.
Read the original at Trail of Bits Blog ↗