Skip to content

Conversation

@DonggeLiu
Copy link
Collaborator

Fixes #156.
Related: google/oss-fuzz#11700.

Save GS bucket links to the reproducer and other statuses into a JSON file.

@DonggeLiu DonggeLiu requested a review from oliverchang March 19, 2024 02:53
@DonggeLiu
Copy link
Collaborator Author

@oliverchang Please correct me if the sample benchmark.json missed anything.
Meanwhile, I will add other code changes to use google/oss-fuzz#11700.

Copy link
Collaborator

@oliverchang oliverchang left a comment

Choose a reason for hiding this comment

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

benchmark.json looks great, thanks!

"benchmark": "{{ benchmark.signature }}",
"sample": "{{ sample.id }}",
"status": "{{ sample.status }}",
"Compiles": "{{ sample.compiles }}",
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: lower case compiles?

"coverage": "{{ sample.coverage | percent }}",
"coverage_diff": "{{ sample.result.line_coverage_diff }}",
"coverage_report": "{{ sample.result.coverage_report_path }}",
"stacktrace": "{{ sample.result.stacktrace_link }}",
Copy link
Collaborator

Choose a reason for hiding this comment

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

maybe just output to generalize this more. This would include both the libFuzzer output + stacktrace (if any).

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I see. BTW, I am adding a bit more code to google/oss-fuzz#11700 to upload the stacktrace too.
Sorry about the frequent review requests an changes.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we need this? I assume the stacktrace/output is already there somewhere when we run web.py ?

Copy link
Collaborator Author

@DonggeLiu DonggeLiu Mar 19, 2024

Choose a reason for hiding this comment

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

Would it be better to have a separate item to link to the libFuzzer output?
e.g.,

"output": "{{ sample.result.output_link }}",

This info is already available and needs not to be uploaded to the new reproducer bucket directory.

@DonggeLiu
Copy link
Collaborator Author

@DonggeLiu
Copy link
Collaborator Author

DonggeLiu commented Mar 20, 2024

Changes since the last exp:

  1. Unified the fuzz target binary directory name to target_binary for easy access.
  2. Automatically load and save benchmark reproducer JOSN.

JOB: https://pantheon.corp.google.com/kubernetes/job/us-central1-c/llm-experiment/default/ofg-pr-172-dg
REPORT: https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-03-20-172-dg-comparison/index.html
BUCKET: https://pantheon.corp.google.com/storage/browser/oss-fuzz-gcb-experiment-run-logs/Result-reports/ofg-pr/2024-03-20-172-dg-comparison
BUCKET GS: gs://oss-fuzz-gcb-experiment-run-logs/Result-reports/ofg-pr/2024-03-20-172-dg-comparison

DonggeLiu added a commit to google/oss-fuzz that referenced this pull request Mar 20, 2024
…nt.py` (#11713)

Related: google/oss-fuzz-gen#172, #11700.
This simplifies the link generation in benchmark `JSON`.
Previously, the binary directory name matches the binary name, now it is
always called `target_binary/`.
@DonggeLiu
Copy link
Collaborator Author

@DonggeLiu DonggeLiu merged commit 6aa874f into main Mar 21, 2024
@DonggeLiu DonggeLiu deleted the save_reproducer branch March 21, 2024 05:19
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.

Save reproducers found in experiments

2 participants