FuzzBench: CmpLog Improvement report

warning
Please consider this as a preliminary report to demonstrate the capabilities of FuzzBench. While we have tried our best, we have not confirmed that we configured everything correctly. We are hoping to work together with the community to validate results and improve the set of fuzzers, benchmarks, and their configurations in the future. See FAQ for more details.

experiment summary

We show two different aggregate (cross-benchmark) rankings of fuzzers. The first is based on the average of per-benchmarks scores, where the score represents the percentage of the highest reached median code-coverage on a given benchmark (higher value is better). The second ranking shows the average rank of fuzzers, after we rank them on each benchmark according to their median reached code-covereges (lower value is better).
  • Critical difference diagram
    The diagram visualizes the average rank of fuzzers (second ranking above) while showing the significance of the differences as well. What is considered a "critical difference" (CD) is based on the Friedman/Nemenyi post-hoc test. See more in the documentation.
    Note: If a fuzzer does not support all benchmarks, its ranking as shown in this diagram can be lower than it should be. So please check the list of supported benchmarks for the fuzzer(s) of your interest. The list could be specified in the fuzzer's README.md like this.
  • Median relative code-coverages on each benchmark

    Note: The relative coverage summary table shows the median relative performance of each fuzzer to the experiment maximum. Thus the highest relative performance may not be 100%.
    trial_relative_coverage = trial_coverage / experiment_max_coverage

    aflplusplus_optimal_extra_cache aflplusplus_optimal aflplusplus_wo_cmplog aflplusplus_cmplog_impr_extra_cache aflplusplus_cmplog_impr_extra aflplusplus aflplusplus_cmplog_impr_courseg aflplusplus_cmplog_impr
    FuzzerMedian 98.20 98.02 96.04 91.00 89.77 91.98 86.96 83.96
    FuzzerMean 98.20 98.02 95.62 92.70 91.92 88.72 86.96 83.96
    bloaty_fuzz_target nan nan 98.99 91.00 86.15 71.21 78.71 79.71
    libpcap_fuzz_both nan nan 90.62 90.17 89.77 87.59 95.21 88.22
    libpng-1.2.56 98.20 98.02 93.09 96.92 nan 96.36 nan nan
    openssl_x509 nan nan 99.77 nan 99.85 99.73 nan nan
    • Fuzzers are sorted by "FuzzerMean" (average median relative coverage), highest on the left.
    • Green background = highest relative median coverage.
    • Blue gradient background = greater than 95% relative median coverage.

bloaty_fuzz_target summary

Ranking by median reached code coverage
Reached code coverage distribution
Mean code coverage growth over time
Mean code coverage growth over time
* The error bands show the 95% confidence interval around the mean code coverage.
error
The following fuzzers do not have enough samples: aflplusplus_cmplog_impr_extra_cache, aflplusplus_wo_cmplog, aflplusplus, aflplusplus_cmplog_impr_courseg.
  • Sample statistics and statistical significance (code coverage)
    Code coverage sample statistics
    count mean std min 25% median 75% max
    fuzzer time
    aflplusplus_wo_cmplog 43200 8.0 6484.125000 107.334507 6239.0 6476.25 6510.5 6543.75 6577.0
    aflplusplus_cmplog_impr_extra_cache 43200 8.0 5985.000000 156.262599 5739.0 5926.50 5985.0 6038.25 6240.0
    aflplusplus_cmplog_impr_extra 43200 14.0 5665.142857 198.462109 5271.0 5532.50 5666.0 5795.00 5980.0
    aflplusplus_cmplog_impr 43200 12.0 5205.750000 131.275647 4981.0 5137.00 5242.5 5278.25 5422.0
    aflplusplus_cmplog_impr_courseg 43200 8.0 5158.375000 141.837873 4883.0 5101.50 5176.5 5247.75 5340.0
    aflplusplus 43200 8.0 4595.875000 438.333023 4044.0 4214.75 4683.5 4850.25 5200.0

    Vargha-Delaney A12 measure
    The table summarizes the A12 values from the pairwise Vargha-Delaney A measure of effect size. Green cells indicate the probability the fuzzer in the row will outperform the fuzzer in the column.
    Mann-Whitney U test
    The table summarizes the p values of pairwise Mann-Whitney U tests. Green cells indicate that the reached coverage distribution of a given fuzzer pair is significantly different.

libpcap_fuzz_both summary

Ranking by median reached code coverage
Reached code coverage distribution
Mean code coverage growth over time
Mean code coverage growth over time
* The error bands show the 95% confidence interval around the mean code coverage.
  • Sample statistics and statistical significance (code coverage)
    Code coverage sample statistics
    count mean std min 25% median 75% max
    fuzzer time
    aflplusplus_cmplog_impr_courseg 43200 8.0 2649.375 169.571677 2379.0 2498.25 2731.5 2742.75 2869.0
    aflplusplus_wo_cmplog 43200 8.0 2574.750 61.427658 2478.0 2529.25 2600.0 2622.25 2636.0
    aflplusplus_cmplog_impr_extra_cache 43200 8.0 2575.750 77.269011 2480.0 2496.50 2587.0 2647.00 2666.0
    aflplusplus_cmplog_impr_extra 43200 8.0 2606.625 150.101811 2395.0 2511.25 2575.5 2705.50 2858.0
    aflplusplus_cmplog_impr 43200 8.0 2518.750 71.759021 2416.0 2458.25 2531.0 2562.50 2627.0
    aflplusplus 43200 8.0 2547.750 120.216174 2424.0 2486.75 2513.0 2568.00 2783.0

    Vargha-Delaney A12 measure
    The table summarizes the A12 values from the pairwise Vargha-Delaney A measure of effect size. Green cells indicate the probability the fuzzer in the row will outperform the fuzzer in the column.
    Mann-Whitney U test
    The table summarizes the p values of pairwise Mann-Whitney U tests. Green cells indicate that the reached coverage distribution of a given fuzzer pair is significantly different.

libpng-1.2.56 summary

Ranking by median reached code coverage
Reached code coverage distribution
Mean code coverage growth over time
Mean code coverage growth over time
* The error bands show the 95% confidence interval around the mean code coverage.
  • Sample statistics and statistical significance (code coverage)
    Code coverage sample statistics
    count mean std min 25% median 75% max
    fuzzer time
    aflplusplus_optimal_extra_cache 43200 8.0 1068.000 8.053393 1059.0 1064.50 1066.5 1068.00 1086.0
    aflplusplus_optimal 43200 8.0 1063.750 6.363961 1051.0 1061.75 1064.5 1066.50 1073.0
    aflplusplus_cmplog_impr_extra_cache 43200 8.0 1055.375 10.253048 1040.0 1051.50 1052.5 1059.75 1075.0
    aflplusplus 43200 8.0 1050.250 11.461114 1038.0 1043.75 1046.5 1054.25 1075.0
    aflplusplus_wo_cmplog 43200 8.0 1010.625 2.503569 1007.0 1008.75 1011.0 1012.25 1014.0

    Vargha-Delaney A12 measure
    The table summarizes the A12 values from the pairwise Vargha-Delaney A measure of effect size. Green cells indicate the probability the fuzzer in the row will outperform the fuzzer in the column.
    Mann-Whitney U test
    The table summarizes the p values of pairwise Mann-Whitney U tests. Green cells indicate that the reached coverage distribution of a given fuzzer pair is significantly different.

openssl_x509 summary

Ranking by median reached code coverage
Reached code coverage distribution
Mean code coverage growth over time
Mean code coverage growth over time
* The error bands show the 95% confidence interval around the mean code coverage.
  • Sample statistics and statistical significance (code coverage)
    Code coverage sample statistics
    count mean std min 25% median 75% max
    fuzzer time
    aflplusplus_cmplog_impr_extra 43200 4.0 5832.5 5.259911 5828.0 5829.50 5831.0 5834.00 5840.0
    aflplusplus_wo_cmplog 43200 4.0 5827.0 9.899495 5818.0 5818.75 5826.5 5834.75 5837.0
    aflplusplus 43200 4.0 4371.0 2914.009037 0.0 4363.50 5824.5 5832.00 5835.0

    Vargha-Delaney A12 measure
    The table summarizes the A12 values from the pairwise Vargha-Delaney A measure of effect size. Green cells indicate the probability the fuzzer in the row will outperform the fuzzer in the column.
    Mann-Whitney U test
    The table summarizes the p values of pairwise Mann-Whitney U tests. Green cells indicate that the reached coverage distribution of a given fuzzer pair is significantly different.

experiment data

You can download the raw data for this report here.

Check out the documentation on how to create customized reports using this data. Also see some example Colab notebooks for doing custom analysis on the data here.

Experiment Description:

from cached data