Skip to content

libafl_libfuzzer optimization experiment - #1903

Closed
addisoncrump wants to merge 6 commits into
google:masterfrom
addisoncrump:master
Closed

addisoncrump wants to merge 6 commits into
google:masterfrom
addisoncrump:master

Conversation

@addisoncrump

@addisoncrump addisoncrump commented Sep 22, 2023 •

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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

addisoncrump commented Sep 27, 2023 •

Copy link
Copy Markdown
Contributor Author

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

@DonggeLiu

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor

this is ready with all the pr merged? @addisoncrump

@addisoncrump

Copy link
Copy Markdown
Contributor Author

Yup, let me update the commit

@addisoncrump

Copy link
Copy Markdown
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
Copy Markdown
Contributor Author

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

@addisoncrump

Copy link
Copy Markdown
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