bajinsheng / SGFuzz_Fuzzbench

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SGFuzz Integration with FuzzBench

This repository is a fork from the official FuzzBench repository with the integration of a new fuzzer: sfuzzer. We have tested sfuzzer on the four stateful benchmarks: curl_curl_fuzzer, gstreamer_gst-discoverer, h2o_h2o-fuzzer-http2, mbedtls_fuzz_dtlsserver

Please refer to the official document of the FuzzBench. (The following is the official introduction of FuzzBench)

FuzzBench: Fuzzer Benchmarking As a Service

FuzzBench is a free service that evaluates fuzzers on a wide variety of real-world benchmarks, at Google scale. The goal of FuzzBench is to make it painless to rigorously evaluate fuzzing research and make fuzzing research easier for the community to adopt. We invite members of the research community to contribute their fuzzers and give us feedback on improving our evaluation techniques.

FuzzBench provides:

  • An easy API for integrating fuzzers.
  • Benchmarks from real-world projects. FuzzBench can use any OSS-Fuzz project as a benchmark.
  • A reporting library that produces reports with graphs and statistical tests to help you understand the significance of results.

To participate, submit your fuzzer to run on the FuzzBench platform by following our simple guide. After your integration is accepted, we will run a large-scale experiment using your fuzzer and generate a report comparing your fuzzer to others. See a sample report.

Overview

FuzzBench Service diagram

Sample Report

You can view our sample report here and our periodically generated reports here. The sample report is generated using 10 fuzzers against 24 real-world benchmarks, with 20 trials each and over a duration of 24 hours. The raw data in compressed CSV format can be found at the end of the report.

When analyzing reports, we recommend:

  • Checking the strengths and weaknesses of a fuzzer against various benchmarks.
  • Looking at aggregate results to understand the overall significance of the result.

Please provide feedback on any inaccuracies and potential improvements (such as integration changes, new benchmarks, etc.) by opening a GitHub issue here.

Documentation

Read our detailed documentation to learn how to use FuzzBench.

Contacts

Join our mailing list for discussions and announcements, or send us a private email at fuzzbench@google.com.

About

License:Apache License 2.0


Languages

Language:Python 48.9%Language:Jupyter Notebook 29.5%Language:Dockerfile 12.7%Language:Shell 4.6%Language:C++ 1.9%Language:HTML 1.3%Language:C 0.8%Language:Makefile 0.1%Language:Mako 0.0%