Hi, I carefully read the K-Scheduler paper, especially the Evaluation section. I have a few questions about the Fuzzbench.
What are the advantages of using the Fuzzbench for edge coverage experiments? Because many works (such as ecofuzz, TortoiseFuzz, etc.) used real-world applications in their papers instead. Is there any difference between using programs in Fuzzbench and downloading the corresponding programs directly from the official website?
I would like to ask whether K-Scheduler runs the Fuzzbench's programs in the docker or compiles the Fuzzbench's programs outside the docker.
If K-Scheduler fuzzes the target programs in the docker, how to configure the related scripts to extract the ICFG of the program for K-Scheduler? If the program in Fuzzbench is deployed outside the docker, what process and standard should be followed to compile the program in Fuzzbench? (For example, what program version should be chosen, and why does harfbuzz need to compile the wrapper additionally?)
The advantage of FuzzBench is a standard tested program and uniform seed corpus. There is not much difference between API wrappers in FuzzBench and the corresponding utility programs from the official repo (e.g., FuzzBench libxml VS xmllint from libxml). We also tested other works (i.e., ecoFuzz and TortoiseFuzz) VS K-Scheduler on utility programs from official repos, and the advantage of K-Scheduler still holds. You can run more evaluations of K-Scheduler following the tutorial https://github.com/Dongdongshe/K-Scheduler/tree/main/afl_integration/build_example.
All K-Scheduler FuzzBench settings are not based on docker. You can directly run it on any Linux platform.
Hi, I carefully read the K-Scheduler paper, especially the Evaluation section. I have a few questions about the Fuzzbench.