- Maximize code coverage using optimization algorithm.
- construct global objective function for optimization based on static code analysis.
- implement fast optimization algorithm using gradient descent.
- implement instrumentation for fuzzing using LLVM Pass.
- Ubuntu 18.04
- Visual Studio Code
- LLVM 8.0.0
- Boost Graph Library 1.6.2
- opt -load (path_to_so_file)/FuncBlockCount.so -funcblockcount sample.ll
- clang -O0 -S -emit-llvm sample.c -o sample.ll
- Angora
- NEUZZ
- GRsan(Proximal gradient analysis)
- use chain rule to compute gradient of variable w.r.t. input.
- pdf, source code is not available yet.
- gen_cov.py -> coverage.py -> plot.py