This is an repository containing ConFuzz and experimental subjects used in the evaluation of the paper titled ConFuzz: Coverage-guided Property Fuzzing for Event-driven Programs
Following dependencies need to be installed to run ConFuzz:
opam
libev
package. It is often called libev-dev or libev-develafl(American Fuzzy Lop)
- At the root of the repository, execute
opam switch install . ocaml-variants.4.08.0+afl
- Add
afl
to environment PATH
Benchmarks are located under /evaluation_subjects
with /real_world_programs
and /benchmarks
as sub-directories as classified in the paper.
Follow the below steps to execute a benchmark:
- cd into the benchmark directory i.e.
evaluation_subjects/benchmarks/B1
- Each benchmark can be executed under three modes:
- To execute under ConFuzz, run
make
- To execute under Node.Fz, run
make run_node_fz
- To execute under Stress testing,
make run_stress
- To execute under ConFuzz, run
- To reproduce crash, execute the test binary with crash file under
op/crashes
i.e./test.out op/crashes/id:000000,sig:06,src:000047,op:havoc,rep:4