{
  "name": "Coverage-guided fuzzers compared: build command, run command, licence and supported systems",
  "description": "Side-by-side compilation of AFL++, libFuzzer and honggfuzz from each project's own README or documentation: how a target is built, how a run is started, the licence stated, and operating systems named. Compiled 2026-11-14.",
  "page": "https://casrai.org/guides/afl",
  "publisher": "CASRAI",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "dateModified": "2026-11-14T12:20:14Z",
  "temporalCoverage": "2026",
  "spatialCoverage": null,
  "columns": [
    {
      "name": "Fuzzer",
      "unit": "",
      "description": ""
    },
    {
      "name": "Build or enable instrumentation",
      "unit": "",
      "description": ""
    },
    {
      "name": "Example run command",
      "unit": "",
      "description": ""
    },
    {
      "name": "Licence stated by project",
      "unit": "",
      "description": ""
    },
    {
      "name": "Systems named in sources",
      "unit": "",
      "description": ""
    }
  ],
  "rows": [
    {
      "Fuzzer": "AFL++",
      "Build or enable instrumentation": "CC=afl-clang-fast CXX=afl-clang-fast++ ./configure --disable-shared",
      "Example run command": "afl-fuzz -i input -o output -- bin/target -someopt @@",
      "Licence stated by project": "AGPL-3.0-or-later by default; some files Apache-2.0",
      "Systems named in sources": "Linux build from source; macOS via Homebrew (some modes unavailable); Docker x86_64 and arm64"
    },
    {
      "Fuzzer": "libFuzzer",
      "Build or enable instrumentation": "clang -g -O1 -fsanitize=fuzzer,address mytarget.c",
      "Example run command": "./my_fuzzer CORPUS_DIR",
      "Licence stated by project": "Part of the LLVM project (licence not stated on the documentation page)",
      "Systems named in sources": "Included in Clang releases from 6.0"
    },
    {
      "Fuzzer": "honggfuzz",
      "Build or enable instrumentation": "./hfuzz_cc/hfuzz-clang -o my_target my_target.c",
      "Example run command": "./honggfuzz -i input_dir/ -- ./my_target ___FILE___",
      "Licence stated by project": "Apache License 2.0",
      "Systems named in sources": "Linux, macOS, Android, NetBSD, FreeBSD, Windows (Cygwin)"
    }
  ],
  "sources": [
    {
      "title": "AFL++ README",
      "url": "https://github.com/AFLplusplus/AFLplusplus",
      "accessed": "2026-11-14"
    },
    {
      "title": "AFL++ Fuzzing in depth",
      "url": "https://aflplus.plus/docs/fuzzing_in_depth/",
      "accessed": "2026-11-14"
    },
    {
      "title": "AFL++ Installing",
      "url": "https://aflplus.plus/docs/install/",
      "accessed": "2026-11-14"
    },
    {
      "title": "LLVM libFuzzer documentation",
      "url": "https://llvm.org/docs/LibFuzzer.html",
      "accessed": "2026-11-14"
    },
    {
      "title": "honggfuzz README",
      "url": "https://github.com/google/honggfuzz",
      "accessed": "2026-11-14"
    }
  ]
}