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

Seed experiment #2025

Open
wants to merge 21 commits into
base: master
Choose a base branch
from
Open

Seed experiment #2025

wants to merge 21 commits into from

Conversation

tokatoka
Copy link
Contributor

@tokatoka tokatoka commented Aug 13, 2024

This is a experiment to see how five fuzzers (afl, aflpp, libfuzzer, honggfuzz, libafl) behaves when supplied with a empty seeds and saturated seed corpus.

First I want do an empty seed experiment.
Later i will change it to use ossfuzz corpus

@tokatoka
Copy link
Contributor Author

tokatoka commented Aug 13, 2024

The command is

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-14-empty_seeds-1 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds
/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-14-empty_seeds-2 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

@DonggeLiu
Could you run the command?

@DonggeLiu
Copy link
Contributor

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-empty_seeds --fuzzers aflplusplus libafl honggfuzz libfuzzer afl aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

Sure, but there are 2 issues:

  1. Could you please follow the same date format in experiment names? 2024-08-14. This help us keep the cloud storage more organized.
  2. Like last time, this experiment requests too many fuzzers. Could you please split them into 2 experiments. Let's keep #fuzzers <= 5 in each exp.

@tokatoka
Copy link
Contributor Author

tokatoka commented Aug 13, 2024

ok i edited and fixed the issues
#2025 (comment)

@tokatoka tokatoka changed the title Seed experiment. Seed experiment Aug 13, 2024
@tokatoka
Copy link
Contributor Author

this is dependent on #2023 #2021

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-15-empty_seeds-1 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

@DonggeLiu
Copy link
Contributor

Ops, experiment name cannot contain _.

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-15-empty-seeds-1 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-14-empty-seeds-2 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

@tokatoka
Copy link
Contributor Author

tokatoka commented Aug 16, 2024

it looks like it didn't run
can you check what is the reason?

@DonggeLiu
Copy link
Contributor

2024-08-14-empty-seeds-2

it looks like it didn't run
can you check what is the reason?

I think it is because of the same issue I fixed in #2023
Now that you have updated your branch, let me re-run the exp.

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-17-empty-seeds-1 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-17-empty-seeds-2 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

@DonggeLiu
Copy link
Contributor

Experiment 2024-08-17-empty-seeds-1 data and results will be available later at:
The experiment data.
The experiment report.
The experiment report(experimental).

Experiment 2024-08-17-empty-seeds-2 data and results will be available later at:
The experiment data.
The experiment report.
The experiment report(experimental).

@DonggeLiu
Copy link
Contributor

Hi @tokatoka, I started two test exp above.
If they work well, could you please rebase to adopt this change?
I forgot to revert temp changes in a previous PR.

Thanks!

@tokatoka
Copy link
Contributor Author

hi, i merged the master branch to revert it.
now it's ready

@tokatoka
Copy link
Contributor Author

now it's truly okay (with the green ci)
could you run the same command? @DonggeLiu

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-21-empty-seeds-1 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-21-empty-seeds-2 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

@tokatoka
Copy link
Contributor Author

hmm the experiment-data has data in its folder but the report is not generated
do you know the reason? @DonggeLiu

@DonggeLiu
Copy link
Contributor

DonggeLiu commented Aug 22, 2024

Let's debug this on the other PR #2028
This experiment also had many runtime crashes, for example.

@DonggeLiu
Copy link
Contributor

@DonggeLiu Can you create a debug branch for this too..? For this one, 0 reports were created

I will need your help to resolve the conflict before I can rebase and create a new PR : )

Auto-merging fuzzers/libafl/builder.Dockerfile
CONFLICT (content): Merge conflict in fuzzers/libafl/builder.Dockerfile
error: could not apply 8b14d84f... Update LibAFL (#2036)
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Could not apply 8b14d84f... Update LibAFL (#2036)

Or you could cherry-pick my commits from #2038.

@tokatoka
Copy link
Contributor Author

resolved it

@DonggeLiu DonggeLiu mentioned this pull request Aug 28, 2024
@tokatoka tokatoka closed this Nov 20, 2024
@tokatoka tokatoka reopened this Nov 21, 2024
@tokatoka
Copy link
Contributor Author

tokatoka commented Nov 21, 2024

@DonggeLiu
Hello, Dongge.
I would like to continue this experiment.
From what i observed during last several months, I think the experiment will likely fail if i have multiple fuzzers run together, but it is fine if they are run separately.

Therefore can you run the previous command separately in 5 trials?
Same experiment, same workload, but we just don't run them in parallel.
1:

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-27-empty-seeds-1 --fuzzers aflplusplus_empty_seeds

2:

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-27-empty-seeds-1 --fuzzers libafl_empty_seeds

3:

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-27-empty-seeds-1 --fuzzers honggfuzz_empty_seeds 

4:

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-27-empty-seeds-1 --fuzzers libfuzzer_empty_seeds

5:

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-27-empty-seeds-1 --fuzzers afl_empty_seeds

@DonggeLiu
Copy link
Contributor

Same experiment, same workload, but we just don't run them in parallel.

Yep sure, you mean run benchmarks in parallel experiments but not in one experiment right?

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-1 --fuzzers aflplusplus_empty_seeds

@DonggeLiu
Copy link
Contributor

ops you need to add the dummy comment to trigger cloud exps : )

@tokatoka
Copy link
Contributor Author

tokatoka commented Nov 22, 2024

Yep sure, you mean run benchmarks in parallel experiments but not in one experiment right?

yes. so you'll comment the command 5 times. but with different fuzzers each time instead of 5 fuzzers at once.

ops you need to add the dummy comment to trigger cloud exps : )

done

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-1 --fuzzers aflplusplus_empty_seeds

preemptible_runners: true
#cloud_compute_zone: us-central1-c
experiment_filestore: /tmp/experiment-data
report_filestore: /tmp/report-data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you forget to undo these changes?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, sorry. i was doing local exp. but i forgot to revert it.
now i reverted it to origin/main

@DonggeLiu
Copy link
Contributor

Noting the exp commands for myself:

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-1 --fuzzers aflplusplus_empty_seeds

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-2 --fuzzers libafl_empty_seeds

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-3 --fuzzers honggfuzz_empty_seeds

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-4 --fuzzers libfuzzer_empty_seeds

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-5 --fuzzers afl_empty_seeds

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-22-empty-seeds-1 --fuzzers aflplusplus_empty_seeds

@tokatoka
Copy link
Contributor Author

ok it seems it is running.
could you run the remaining 4 too?

and could you run all these 4 on the same day?

@DonggeLiu
Copy link
Contributor

ok it seems it is running. could you run the remaining 4 too?

and could you run all these 4 on the same day?

Yep they can, I was distracted by other tasks.

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-24-empty-seeds-2 --fuzzers libafl_empty_seeds

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-24-empty-seeds-3 --fuzzers honggfuzz_empty_seeds

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-24-empty-seeds-4 --fuzzers libfuzzer_empty_seeds

@DonggeLiu
Copy link
Contributor

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-11-24-empty-seeds-5 --fuzzers afl_empty_seeds

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