Jump to content

Cppcheck

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 86.26.60.18 (talk) at 14:38, 22 January 2011 (→‎Status: add debian archive check project). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Cppcheck
Original author(s)Daniel Marjamäki
Initial releaseMarch 10, 2009 (2009-03-10)
Stable release
1.46.1 / December 13, 2010; 13 years ago (2010-12-13)
Repository
Written inC++
Operating systemCross-platform
Available inEnglish, Dutch, Finnish, Swedish, German, Russian, Polish, Japanese, Serbian
TypeStatic code analysis
LicenseGNU General Public License
Websitehttp://cppcheck.sourceforge.net/

Cppcheck is an open source static code analyzer tool for C/C++ programming languages. It's a versatile tool that can check non-standard code.[1]

Plugins

Plugins for the following IDEs exist[2]

No plugin exists for Visual Studio, but it's possible to add Cppcheck as an external tool.

Features

Cppcheck supports a wide variety of static checks that may not be covered by the compiler itself. These checks are static analysis checks that can be performed at a source code level. The program is directed towards static analysis checks that are rigorous, rather than heuristic in nature.

Some of the checks that are supported include:

Status

The project is actively under development[3] and is actively maintained in different distributions[4][5]. It has found valid bugs in a number of popular projects such as the Linux kernel and MPlayer[6].

As with many analysis programs, there are many unusual cases of programming idioms which may be acceptable in particular target cases, or outside of the programmer's scope for source code correction. A study conducted in March 2009 identified several areas where false positives were found by cppcheck, but did not specify the program version examined.[7] Cppcheck has been identified for use in systems such as CERNs 4DSOFT meta analysis package[8], for code verification in high energy particle detector readout devices[9] as well as in error analysis of large projects, such as Openoffice.org[10] and the debian archive[11].

See also

References

  1. ^ "A Survey of C and C++ Software Tools for Computational Science" (PDF). Science and Technologies Facility Council. Chilbolton, Daresbury, and Rutherford Appleton Laboratories. December 2009. p. 14. Retrieved 14 September 2010. {{cite web}}: More than one of |pages= and |page= specified (help)
  2. ^ SourceForge.net: cppcheck
  3. ^ Cppcheck on Github
  4. ^ Cppcheck on Debian's Package Tracking System
  5. ^ Cppcheck FreeBSD port
  6. ^ "Found Bugs list". SourceForge.
  7. ^ "Static Code Analysis For Embedded Systems" (PDF).
  8. ^ "Dissemination and use of knowledge plan (EU Deliverable DNA2.11" (PDF). 2010.
  9. ^ "Entwurf und Implementierung eines adaptiven, strahlentoleranten eingebetteten Systems am Beispiel eines Read-Out-Controllers (En: Development and implementation of an adaptive, radiation tolerant embedded system for operation of a Read-Out controller)" (PDF). 2010.
  10. ^ "Hunting for vulnerabilities in large software : the OpenOffice suite" (PDF).
  11. ^ http://lwn.net/Articles/420252/. {{cite web}}: Missing or empty |title= (help)