google / fuzzbench

FuzzBench - Fuzzer benchmarking as a service.

Home Page:https://google.github.io/fuzzbench/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AFL++ regression

vanhauser-thc opened this issue · comments

@thuanpv @AAArdu @cnheitman @chenju2k6

Hi guys, you are using AFL++ in your SBFT23 submission hence I want to make you aware of a regression in AFL++ so you can ensure that you are not affected.

Somewhere after commit 33eba1fc5652060e8d877b02135fce2325813d0c there is a regression that cost ~2.5% on the fuzzbench coverage metric, so this is huge.
I think I found the issue, which is hopefully fixed with commit eb5c1ee4f3ffd6e42a3637082ab4ea089052ad8b onward, but this contains quite some more changes which can either be beneficial or bad for performance (I hope obviously for better performance)-

The fuzzbench team currently need all resources hence I cannot test if I really found the regression, if their is maybe one more hidden and if my new changes are beneficial or not ...
So if you want to be safe, ensure you stay at 33eba1fc5652060e8d877b02135fce2325813d0c

If you want/need help integrating/changing features into AFL++ do not hesitate to contact me, my submission is ready and unlikely to change :) (and is basic afl++ with a custom mutator that is specifically for text inputs only, so only affects 1/3 of the benchmark targets)

So an update - I found the regression. A PR we received basically disabled CMPLOG :(
this is fixed (and in stable) and another regression too (just today, only in dev so far).

There is still on regression which will need an in-depth fuzzbench setup for which there will only be resources available after SBFT23, however the current dev state should already be better from it's performance than 33eba1fc5652060e8d877b02135fce2325813d0c which I recommended which is before the CMPLOG regression. But use at your own risk if you go for current dev state :-)

(btw with CMPLOG enabled my custom mutator does not look that good anymore ;-) plus only 1/4 (the "hidden" benchmark targets included which were revealed in the last fuzzbench run) of the targets use text based inputs, so ... well ... :-)