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

Improve fuzzing coverage of abseil-cpp #12721

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jsnv-dev
Copy link

This pull request adds new fuzzers to improve the fuzzing coverage of abseil-cpp, focusing on a broader range of functions to ensure more comprehensive testing.

Copy link

jsnv-dev is a new contributor to projects/abseil-cpp. The PR must be approved by known contributors before it can be merged. The past contributors are: derekmauro, junyer, DonggeLiu, PiotrSikora, inferno-chromium, kabeer27

@DonggeLiu
Copy link
Contributor

@derekmauro could you please help us review the new fuzz targets?
Thanks!

@derekmauro
Copy link
Member

I will take a look when I get back from vacation around the first week of December.

@derekmauro
Copy link
Member

Hi and sorry for the delay on this one. Also, thanks for your interest in Abseil and fuzzing!

So Abseil already has a lot of fuzzing coverage, it just isn't published here or anywhere for that matter. Why it isn't published is because it is written in the Google FuzzTest framework, which only supports C++17 or higher (It is also a much nicer framework than the LLVM fuzzer in my opinion). Abseil currently has a minimum of C++14, but that is changing very soon.

My plan is to bump Abseil to a C++17 floor very soon, and then publish the fuzz tests at https://github.com/abseil/abseil-cpp. I think you will see that there is a considerable amount of overlap with the fuzz tests you've written.

Once that is done, I'd like to use the oss-fuzz project to run those tests in fuzz mode (as opposed to the default "unit test" mode). Publishing those fuzz tests as part of the Abseil project as opposed to the oss-fuzz project has the advantage that Abseil contributors won't be able to unknowingly break the oss-fuzz project.

At that point I'd like to go over your contribution and see where you've increased the fuzz coverage, and incorporate any of your changes into Abseil's existing fuzz tests.

Let me know if this makes sense. Thanks!

@jsnv-dev
Copy link
Author

Thanks for the detailed explanation—it makes sense to me. Looking forward to seeing the updates published.

@DonggeLiu
Copy link
Contributor

Thanks both!
I will convert this to a draft for now.

@DonggeLiu DonggeLiu marked this pull request as draft December 30, 2024 06:48
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