diewufeihong / K-Scheduler

A generic seed scheduler for fuzzers(LibFuzzer and AFL) and concolic execution engine(qsym).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

K-Scheduler: Effective Seed Scheduling for Fuzzing with Graph Centrality Analysis (IEEE S&P'22)

A generic seed scheduler for fuzzers (LibFuzzer and AFL) and conconlic execution engine (QSYM). Check our paper for more details.

Prerequisite

Usage

We use harfbuzz as an example

  1. Open a terminal to run LibFuzzer:
    ./harfbuzz-1.3.2-fsanitize_fuzzer_kscheduler -kscheduler=1 -min_num_mutations_for_each_seed=200 ./tmp_seeds/ seeds/
  2. Open another terminal to run graph analysis module:
    python3 ./gen_dyn_weight.py

Tested programs

We provide 12 programs from Google FuzzBench to reproduce our results, K-Scheduler/libfuzzer_integration/test_programs and K-Scheduler/afl_integration/test_programs

Run K-Scheduler on a new program

Check turtorials at K-Scheduler/libfuzzer_integration/test_programs and K-Scheduler/afl_integration/test_programs

Contant

Feel free to send me email about K-Scheduler. dongdong at cs.columbia.edu

About

A generic seed scheduler for fuzzers(LibFuzzer and AFL) and concolic execution engine(qsym).

License:MIT License


Languages

Language:C++ 45.4%Language:LLVM 29.2%Language:C 11.2%Language:Assembly 10.2%Language:Python 1.4%Language:Objective-C 0.7%Language:MLIR 0.5%Language:CMake 0.4%Language:HTML 0.3%Language:Objective-C++ 0.2%Language:Fortran 0.1%Language:Cuda 0.1%Language:OCaml 0.1%Language:Perl 0.1%Language:Shell 0.1%Language:Makefile 0.0%Language:Scilab 0.0%Language:Go 0.0%Language:Awk 0.0%Language:JavaScript 0.0%Language:CSS 0.0%Language:M4 0.0%Language:Roff 0.0%Language:Emacs Lisp 0.0%Language:Julia 0.0%Language:Batchfile 0.0%Language:Pawn 0.0%Language:Ragel 0.0%Language:Cool 0.0%Language:C# 0.0%Language:Vim Script 0.0%Language:Dockerfile 0.0%Language:M 0.0%Language:NASL 0.0%Language:SWIG 0.0%Language:GDB 0.0%Language:TypeScript 0.0%Language:Common Lisp 0.0%Language:TeX 0.0%Language:AppleScript 0.0%Language:SourcePawn 0.0%Language:Pascal 0.0%Language:RenderScript 0.0%Language:Starlark 0.0%Language:PLpgSQL 0.0%Language:DTrace 0.0%Language:PHP 0.0%Language:Swift 0.0%Language:Rust 0.0%Language:Lua 0.0%Language:POV-Ray SDL 0.0%Language:Rich Text Format 0.0%