-
Notifications
You must be signed in to change notification settings - Fork 293
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
Dynamic code analysis #1406
Comments
For python, there is https://hypothesis.readthedocs.io/en/latest/ for fuzzing. Also, see #1407 (comment). OSS-fuzz could potentially be used, but I don't know if it would qualify. But even if we don't qualify, they still have https://google.github.io/clusterfuzzlite/ which can be run in CI (and supports both hypothesis and libfuzzer) |
It might be nice to run the C++ tests with valgrind: It's great at finding memory issues though it can also be quite slow and could impact the CI build times. |
Yeah, Valgrind would be nice! It can even be used with Python natively since Python 3.6 (using the |
Nice, I didn't know about the Python support. I tried a quick valgrind test on test_serializableCollection.cpp and the results look good, no memory leaks or bad accesses:
|
There is an interesting PR on OpenEXR today. OpenEXR already has OSSFuzz running, this PR adds a github action to run the fuzzing. AcademySoftwareFoundation/openexr#1317 As submitted, it runs the fuzz test for 5 minutes. I'm trying to understand whether that's enough to add the full value of catching fuzz issues early. It might be the case that OpenEXR might need to create a lightweight fuzzer, that exercises all the categories of fuzzing briefly as a smoke test, rather than running the time consuming long tests. (As it stands the long running tests do run automatically, with reporting via a dashboard and email notifications.) I do so the attraction of getting an early indication that there are fuzz issues at PR time, rather than at the multi-day cadence of OSSFuzz. |
Nice! I think (?) it's the se thing as what I mentioned in #1406 (comment). |
It's related - it uses https://github.com/google/oss-fuzz/ ~ ossfuzz supports clusterfuzzlite as one of the fuzzing technologies it can wrangle. |
We aim to meet the OpenSSF Best Practices passing or higher badge level. One of the requirements is to run dynamic code analysis on the project's source code.
See the "Analysis" section here: https://bestpractices.coreinfrastructure.org/en/projects/2288
Is there anyone on this project with expertise in this area?
The ASWF makes SonarQube available to us, and cppcheck (C, C++), clang static analyzer (C, C++) seem relevant. Is there a well known Python static analysis tool we could use to satisfy this?
Details from OpenSSF Best Practices:
The text was updated successfully, but these errors were encountered: