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).

Download

Download Now! Version 1.63 for Windows

You can download the standalone Cppcheck from our project page or add it as a plugin for your favorite IDE:

There is no plugin for Visual Studio, but it is possible to add Cppcheck as an external tool. You can also try the proprietary PVS-Studio (there is a free trial), which is oriented for this environment. A comparison of Cppcheck and PVS-Studio can be found here and we believe it's a good and honest comparison.

Features

News

set_feed_url('http://sourceforge.net/p/cppcheck/news/feed'); $feed->set_cache_location('./site/simplepie/cache'); $feed->init(); print("\n"); ?>

View all news…

Documentation

You can read the manual or download some articles.

Support

Contribute

You are welcome to contribute. Help is needed.

Testing
Pick a project and test it's source with latest version. Write tickets to Trac about issues you find from Cppcheck. If you test open source projects and write bug reports to them, check the issues in the “Found bugs” wiki section, and write links to the bug reports you have created e.g. to our forum, so we can keep a track about them.
Developing
Pick a ticket from Trac, write a test case for it (and write a comment to the ticket that test case has been created). Or pick a test case that fails and try to fix it. Make a patch and submit it to Trac either inline if it is small, or attach it as a file.
Marketing
Write articles, reviews or tell your friends about us. The more users we have, the more people we have testing and the better we can become.
Design
Invent new good checks and create tickets to Trac about them.
Integration
Write a plugin to your favorite IDE or create a package for your distribution or operating system.
Technical Writer
Write better documentation for the bugs we find. Currently only a few bugs have any documentation at all.