What is it all about?
Cppcheck is a static analysis tool for C/C++ code. Unlike C/C++ compilers and many other analysis tools it does not detect syntax errors in the code. Cppcheck primarily detects the types of bugs that the compilers normally do not detect. The goal is to detect only real errors in the code (i.e. have zero false positives).
* Out of bounds checking * Memory leaks checking * Detect possible null pointer dereferences * Check for uninitialized variables * Check for invalid usage of STL * Checking exception safety * Warn if obsolete or unsafe functions are used * Warn about unused or redundant code * Detect various suspicious code indicating bugs * Look for simple patterns, see chapter about rules in the manual (pdf, html) * Define rules for functions with .cfg files, see chapter about library files in the manual (pdf, html) * Extend cppcheck with scripts, see chapter about addons in the manual (pdf, html)