-
Notifications
You must be signed in to change notification settings - Fork 377
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
Statical Analysis #104
Comments
This is something I'd definitely be interested in trying but I guess I've never really found the right tool. Do you have any recommendations? Something cross platform and powerful would be nice. |
Clang-analyzer is a good start. I also use coverity which is free (of charge) for opensource projects
|
I've used Coverity Scan for now. I've tried Cppcheck too. But it's a different one since it doesn't do syntax checks, yet very helpful. Clang-analyzer seems like the most common one, which @radare mentioned. I've heard about Klocwork, Frama-C, splint and ECLAIR but haven't use any. A simple Google search effort would be more helpful than the information I've provided. But static code analysis is required for non-hobby projects, that's for sure. |
I tried analyzing with CppCheck tool, which is not a syntax checking but error checking tool. Here are the results of the repository:
|
Interesting. I checked a few but most seem like false positives. In particular anything intended to be cleaned up by the GC is reported. I should look through all the reports a bit more closely at a later date. |
Yes, memory errors are expected because of GC's existence. Though there are a few more things mentioned in the report, some of which are about styling. If you are sure about false positives, you may give a feedback to the CppCheck community. |
There are many statical analysis systems for C language. Mostly specified on some standards. Have you tried any for Cello? Some of them may give some errors which a developer may never see because it's not on an embedded platform etc. But it'd be good to see the limitations since it has some hacks as you've mentioned and those hacks may cause some issues under some conditions.
The text was updated successfully, but these errors were encountered: