I'm particularly looking ones which detect vulnerabilities in C/C++ code. I've seen a bunch of proprietary tools but no open source ones.
closed as off-topic by TildalWave, Jens Erat, Gilles, Bob Brown, Rory Alsop♦ Jan 26 '15 at 12:13
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking product recommendations are off-topic as they become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve." – TildalWave, Jens Erat, Bob Brown, Rory Alsop
Fortify released RATS: http://code.google.com/p/rough-auditing-tool-for-security/. You can try it, however, I am not very pleased with both commercial and open-source tool results. Probably commercial tools shows a bit better results. The problem is that today a lot of obvious bugs becomes extinct due to several reasons. Yes, there is still buggy and crappy software (and will always be), and such tools will find those bugs, but not those tricky. Most of work you still have to do manually.
David Wheeler of FlawFinder has a great list of (30) OSS/FS & (14) Proprietary static analysis tools:
"Good" in this case is mostly contradictory to "tools for scanning source code". Especially the free ones - not knocking opensource here, most of the commercial ones suck too.
The best (commercial) tool I've seen (and I've researched this quite a bit) - was Checkmarx by a wide margin. (Disclosure - though I don't work for them, I have worked with them in the past).
Lower down on the list would be IBM / Ounce (now called IBM Rational Appscan Source code Edition, or something like that...).
Further down is the "2nd tier" commercial tools, such as Klockworcks and such... Much, much further down on my list is the incumbent, Fortify (now owned by HP).
Note that all those are commercial, and quite expensive at that.
Lower down on the list are the free / opensource tools - simply because these do simple text searching, pretty much what you could do with e.g. grep.
In this list - RATS, ITS4, FlawFinder, some others... but they are pretty equivalent, not much logic in them, no compiling, etc.
If you were looking outside C and C++ - its not much different, except for some OWASP tools, e.g. O2 for .NET, LAPSE for Java...