Code Monkey home page Code Monkey logo

k-scheduler's Introduction

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

A universal seed scheduler for fuzzers (LibFuzzer and AFL havoc mode) and concolic execution engine (QSYM). Watch the following 1 minute video to get a sense about how K-Scheduler works. Check our paper, Oakland video and slides for more details.

IMAGE ALT TEXT HERE

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, K-Scheduler/afl_integration/test_programs and K-Scheduler/qsym_integration/test_programs

Run K-Scheduler on a new program

Check tutorials at K-Scheduler/libfuzzer_integration/build_example, K-Scheduler/afl_integration/build_example and K-Scheduler/qsym_integration/build_example

Contact

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.