Cppcheck is a static analysis tool for C/C++ code. It doesn't look for syntax errors, but for bugs that a compilation steps would not normally detected. It provides out of bounds checking, checking the code for each class, exception safety, memory leaks checking, warnings for obsolete function usage, invalid usage of STL, and tests for uninitialized variables and unused functions. There are IDE and VCS bindings for Code::Block, CodeLite, Eclipse, gedit, Hudson, Jenkins, Mercurial, Tortoise SVN,
PMD is a static code analyzer that looks for common code flaws such as unused variables, empty catch blocks, unneeded object instantiation. It understands Java, JavaScript, XML, XSL. It's companion tool CPD detects copy and pasted sections in Java, C, C++, C#, Go, PHP, Ruby, Fortran, and JavaScript.
|