Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Profile-Guided Optimization (PGO) for fuzzing optimization #1803

Open
zamazan4ik opened this issue Jul 10, 2023 · 1 comment
Open

Profile-Guided Optimization (PGO) for fuzzing optimization #1803

zamazan4ik opened this issue Jul 10, 2023 · 1 comment
Labels
discussion Discuss a strategy, feature or goal enhancement New feature or request help wanted Extra attention is needed

Comments

@zamazan4ik
Copy link

zamazan4ik commented Jul 10, 2023

Is your feature request related to a problem? Please describe.
An idea of how to possibly improve fuzzing performance.

Describe the solution you'd like
I am doing research on how Profile-Guided Optimization (PGO) helps with improving the performance of different software (link).

One of the interesting areas to me is optimizing fuzzing. Did anyone try to apply PGO on fuzzing? E.g. try to speed up the generation of new inputs (and correspondingly generate more corpuses per CPU time quantity) or something similar? I didn't see before such PGO applications. I want to highlight that I am interested at first in optimizing fuzzing codebase itself, not fuzzed targets (because target loads are too different and usually they easily can be optimized with PGO - see my results).

If you have any ideas, thoughts and/or existing numbers - would be awesome if you can share them. Thanks in advance! Maybe some already existing research from FuzzBench - who knows...

@andreafioraldi
Copy link
Member

Hi, PGO require special instrumentation and sometimes tedious compiler setups, we never tried it.
On the other hand, AFL++ is optimized to reduce allocations cost and the map walking cost (the second most important bottleneck in a fuzzer, after the target execution) by hand using perf.

@vanhauser-thc vanhauser-thc added enhancement New feature or request help wanted Extra attention is needed discussion Discuss a strategy, feature or goal labels Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discuss a strategy, feature or goal enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants