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

libafl_libfuzzer optimization experiment #1903

Closed
wants to merge 6 commits into from

Conversation

addisoncrump
Copy link
Contributor

@addisoncrump addisoncrump commented Sep 22, 2023

We made some heavy optimisations and new features that we'd like to test. Can an experiment be run for:

  • libafl_libfuzzer
  • libafl_libfuzzer_best (from this PR)
  • libafl (depends on Update LibAFL #1902; temporarily rebased) please skip while we remediate libafl_cc
  • aflplusplus
  • libfuzzer

Thanks!

@addisoncrump addisoncrump changed the title libafl_libfuzzer changes libafl_libfuzzer optimization experiment Sep 22, 2023
@addisoncrump addisoncrump marked this pull request as draft September 22, 2023 21:44
@addisoncrump addisoncrump marked this pull request as ready for review September 22, 2023 22:05
@addisoncrump addisoncrump marked this pull request as draft September 22, 2023 23:07
@addisoncrump
Copy link
Contributor Author

having some linkage issues

@addisoncrump addisoncrump marked this pull request as ready for review September 23, 2023 01:46
@addisoncrump addisoncrump marked this pull request as draft September 23, 2023 18:19
@addisoncrump
Copy link
Contributor Author

Found an issue with one of our recent optimisations. Marked as draft until it's fixed up.

@addisoncrump addisoncrump force-pushed the master branch 2 times, most recently from 297871f to 04a773e Compare September 26, 2023 23:38
@addisoncrump addisoncrump marked this pull request as ready for review September 26, 2023 23:38
@addisoncrump
Copy link
Contributor Author

Good to go! Hunted down all the bugs with the recent optimisations (that I'm aware of... 💀)

libafl_libfuzzer is not affected by the issue identified in #1902 because we don't use libafl_cc, so this is good to go whenever y'all are ready to fire the experiment.

@addisoncrump
Copy link
Contributor Author

addisoncrump commented Sep 27, 2023

Rebased on the libafl updates used in #1902 for sanity.

@DonggeLiu
Copy link
Contributor

Hi @addisoncrump, is this ready for experiments?

If so, would you mind making a trivial modification to service/gcbrun_experiment.py?
This will allow me to launch experiments in this PR. Here is an example to add a dummy comment : )
Thanks!

In addition, could you please write your experiment request in this format?
You can swap the --experiment-name and --fuzzers parameters with your values.
I would really appreciate that : )

For example, I reckon the command for this case is:

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2023-10-05-libafl_best --fuzzers libafl_libfuzzer_best libafl_libfuzzer

Where FuzzBench will reuse existing results of aflplusplus and libfuzzer.

@addisoncrump
Copy link
Contributor Author

We have a couple of more changes in the queue ready, so I'll send this in in a bit 🙂

@tokatoka
Copy link
Contributor

this is ready with all the pr merged? @addisoncrump

@addisoncrump
Copy link
Contributor Author

Yup, let me update the commit

@addisoncrump
Copy link
Contributor Author

All of the relevant libafl changes landed, so I removed libfuzzer_best. For now, this is good to go ✔️

Let's compare:

  • libafl_libfuzzer
  • libafl
  • aflplusplus
  • libfuzzer

Thanks!

@addisoncrump
Copy link
Contributor Author

Well, that didn't work. Coming back to this in the morning.

@addisoncrump
Copy link
Contributor Author

Superceded by other recent PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants