rapidsai / cudf

cuDF - GPU DataFrame Library
https://docs.rapids.ai/api/cudf/stable/
Apache License 2.0
8.48k stars 907 forks source link

[FEA] ClusterfuzzLite integration #11413

Open AdamKorcz opened 2 years ago

AdamKorcz commented 2 years ago

Is your feature request related to a problem? Please describe. cuDF has an extensive fuzzing suite that could benefit the project by running in the CI.

Describe the solution you'd like In this issue I suggest ClusterfuzzLite integration for cuDF. This would require:

  1. Adding a .github/workflows/cflite.yml file.
  2. Adding a .clusterfuzzlite directory with build files.
  3. Rewriting the fuzzers into coverage-guided fuzzers via Atheris.

Describe alternatives you've considered

Additional context ClusterfuzzLite handles the management of running fuzzers in the CI when PRs are made. It has a number of features that are useful for projects with multiple fuzzers:

  1. CFL reuses corpus so that the fuzzers don't start from scratch every run.
  2. Batch fuzzing will run the fuzzers periodically to look for harder-to-find bugs and build of the corpus.
  3. Only fuzzers that cover code that is changed in PRs run in the CI.

I will be glad to take the lead on this one if it is of interest to cuDF.

shwina commented 2 years ago

Hi @AdamKorcz - thanks for reaching out! We're definitely interested in improvements around our fuzzing infrastructure and appreciate any help!

We're currently in the process of migrating our CI to use GitHub Actions and we expect that to be complete in the coming weeks. I imagine that will make it easier to integrate a tool like ClusterfuzzLite. Perhaps we can touch base again once that migration is complete?

github-actions[bot] commented 2 years ago

This issue has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be labeled inactive-90d if there is no activity in the next 60 days.