fuzzbench icon indicating copy to clipboard operation
fuzzbench copied to clipboard

LibAFL Saturation Experiment.

Open tokatoka opened this issue 1 year ago • 15 comments

Hi @DonggeLiu This is the longer fuzzer experiment that I was talking about last month. For now can we check if this fuzzer stands the 24 hours run?

tokatoka avatar May 11 '24 21:05 tokatoka

The command is

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-12-libafl --fuzzers libafl_saturation

tokatoka avatar May 12 '24 03:05 tokatoka

Hi @DonggeLiu This is the longer fuzzer experiment that I was talking about last month. For now can we check if this fuzzer stands the 24 hours run?

Sure! It's actually 23 hours : )

Experiment 2024-05-12-libafl data and results will be available later at: The experiment data. The experiment report. The experiment report(experimental).

DonggeLiu avatar May 12 '24 10:05 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-12-libafl --fuzzers libafl_saturation

DonggeLiu avatar May 12 '24 10:05 DonggeLiu

looks like it is not built. was something wrong?

tokatoka avatar May 12 '24 21:05 tokatoka

nevermind 😅 i think i just forgot to refresh the webpage before checking the result.

tokatoka avatar May 13 '24 08:05 tokatoka

Hello @DonggeLiu I checked the log. I think the run was successful. Can we ask a 48 hour run that we discussed last month?

tokatoka avatar May 16 '24 17:05 tokatoka

Hello @DonggeLiu I checked the log. I think the run was successful. Can we ask a 48 hour run that we discussed last month?

Sure! Would you mind modify the experiment-config.yaml as discussed? Change this to 2 days: https://github.com/google/fuzzbench/blob/master/service/experiment-config.yaml#L6 Change this to false: https://github.com/google/fuzzbench/blob/master/service/experiment-config.yaml#L14

@jonathanmetzman please let us know if I missed anything. E.g., Shall we run a separate 48-hour exp for base fuzzers beforehand? I reckon we only have their 24-hour results.

DonggeLiu avatar May 17 '24 00:05 DonggeLiu

done

E.g., Shall we run a separate 48-hour exp for base fuzzers beforehand?

yeah i'm interested to see that too :)

tokatoka avatar May 20 '24 16:05 tokatoka

done

E.g., Shall we run a separate 48-hour exp for base fuzzers beforehand?

yeah i'm interested to see that too :)

Sorry that this took so long, @jonathanmetzman and I were extremely busy last week. We will start this tmr (if not today).

BTW, may I know which baseline fuzzers you are interested in comparing against? Here are the options, but I presume not all of them are useful? (e.g., some were not updated in years.)

DonggeLiu avatar May 21 '24 01:05 DonggeLiu

i'd like to see,

  • afl
  • aflfast
  • aflplusplus
  • centipede
  • libafl
  • libfuzzer

please!

tokatoka avatar May 21 '24 10:05 tokatoka

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-base --fuzzers afl aflfast aflplusplus centipede libafl libfuzzer

DonggeLiu avatar May 22 '24 00:05 DonggeLiu

Experiment 2024-05-22-bases data and results will be available later at: The experiment data. The experiment report. The experiment report(experimental).

DonggeLiu avatar May 22 '24 00:05 DonggeLiu

Hi @tokatoka, while we are waiting for the base fuzzers experiment, would you like to run yours in parallel? This can save some waiting time (particularly if some benchmarks fail), but it requires you to manually combine the two results together when both are ready. In addition, the report won't include the Unique code coverage plots section under each benchmark.

DonggeLiu avatar May 22 '24 00:05 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-bases --fuzzers afl aflfast aflplusplus centipede libafl libfuzzer

DonggeLiu avatar May 22 '24 00:05 DonggeLiu

Hi @tokatoka, while we are waiting for the base fuzzers experiment, would you like to run yours in parallel? This can save some waiting time (particularly if some benchmarks fail), but it requires you to manually combine the two results together when both are ready. In addition, the report won't include the Unique code coverage plots section under each benchmark.

For me I can wait, and it's better for me to see the combined results

tokatoka avatar May 22 '24 09:05 tokatoka

It seems they are stuck after 35 hours..?

tokatoka avatar May 26 '24 14:05 tokatoka

but well it's fine.. can we start the experiment for our fuzzer too? @DonggeLiu

tokatoka avatar May 27 '24 12:05 tokatoka

It seems they are stuck after 35 hours..?

Sorry I was traveling this week and did not check emails frequently. @jonathanmetzman could you please have a look at this? It appears to be stuck at ~35-hour.

can we start the experiment for our fuzzer too? @DonggeLiu

We might have to understand why it stuck first.

DonggeLiu avatar May 28 '24 04:05 DonggeLiu

I can see a lot of errors related to requesting metadata, maybe they are related?

network error when requesting metadata

DonggeLiu avatar May 28 '24 05:05 DonggeLiu

Is there anything that I can help? 😃

tokatoka avatar May 30 '24 11:05 tokatoka

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-06-04-bases --fuzzers afl

DonggeLiu avatar Jun 04 '24 04:06 DonggeLiu

@jonathanmetzman, gentle ping : )

I suspect that this is the measurement bottleneck again, probably due to the experiment doubles the time? Let me restart the experiment with afl only. If that works, I will restart the experiments with one fuzzer for each.

Experiment 2024-06-04-bases data and results will be available later at: The experiment data. The experiment report. The experiment report(experimental).


For me to copy and paste later:

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-bases --fuzzers aflfast 
gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-bases --fuzzers aflplusplus 
gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-bases --fuzzers centipede 
gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-bases --fuzzers libafl 
gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-bases --fuzzers libfuzzer

DonggeLiu avatar Jun 04 '24 04:06 DonggeLiu

Hi @tokatoka Thanks for the waiting. The report above confirms that the previous failure is caused by measurement bottleneck, I will only run one fuzzer per exp below. Once they finish, I will run yours in another exp.

We can merge the statistics later manually, I don't think we can get unique coverage for each fuzzer this way, but it should be able to give us overall coverage info as usual. Hope that's OK.

DonggeLiu avatar Jun 07 '24 04:06 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-06-07-bases-aflfast --fuzzers aflfast

DonggeLiu avatar Jun 07 '24 04:06 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-06-07-bases-aflpp --fuzzers aflplusplus

DonggeLiu avatar Jun 07 '24 04:06 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-05-22-bases-centipede --fuzzers centipede

DonggeLiu avatar Jun 07 '24 04:06 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-06-07-bases-libaf --fuzzers libafl

DonggeLiu avatar Jun 07 '24 04:06 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-06-07-bases-libfuzzer --fuzzers libfuzzer

DonggeLiu avatar Jun 07 '24 06:06 DonggeLiu

Experiment 2024-06-07-bases-aflfast data and results will be available later at: The experiment data. The experiment report.


Experiment 2024-06-07-bases-aflpp data and results will be available later at: The experiment data. The experiment report.


Experiment 2024-05-22-bases-centipede data and results will be available later at: The experiment data. The experiment report.


Experiment 2024-06-07-bases-libaf data and results will be available later at: The experiment data. The experiment report.


Experiment 2024-06-07-bases-libfuzzer data and results will be available later at: The experiment data. The experiment report.

DonggeLiu avatar Jun 07 '24 06:06 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-06-07-bases-libfuzzer --fuzzers libfuzzer

DonggeLiu avatar Jun 07 '24 06:06 DonggeLiu