Jump to content

Cppcheck

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 217.86.69.3 (talk) at 07:18, 1 November 2016 (Added Kdev-Cppcheck project to plugins section). 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 releaseMay 8, 2007; 17 years ago (2007-05-08)
Stable release
1.76 / October 8, 2016; 8 years ago (2016-10-08)
Repository
Written inC++
Operating systemCross-platform
Available inEnglish, Dutch, Finnish, Swedish, German, Russian, Polish, Japanese, Serbian
TypeStatic code analysis
LicenseGNU General Public License
Websitecppcheck.sourceforge.net

Cppcheck is a static code analysis tool for the C and C++ programming languages. It is a versatile tool that can check non-standard code.[1] The creator and lead developer is Daniel Marjamäki.

Cppcheck is free software under the GNU General Public License.

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:

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.[3] Cppcheck has been identified for use in systems such as CERNs 4DSOFT meta analysis package,[4] for code verification in high energy particle detector readout devices,[5] system monitoring software for radio telescopes[6] as well as in error analysis of large projects, such as OpenOffice.org[7] and the Debian archive.[8]

Development

The project is actively under development[9] and is actively maintained in different distributions.[10][11] It has found valid bugs in a number of popular projects[12] such as the Linux kernel and MPlayer.[13]

Plugins

Plugins for the following IDEs exist[14]

Visual Studio integration

The commercial third-party Add-In Visual Lint by British company Riverblade can be used to integrate CppCheck in Visual Studio.[23] There is also an open source plugin cppcheck-vs-addin[24] available. It is also possible to add Cppcheck as an external tool.[25]

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.
  2. ^ http://www.opengroup.org/onlinepubs/9699919799/xrat/V4_xsh_chap03.html
  3. ^ "Static Code Analysis For Embedded Systems" (PDF).
  4. ^ "Dissemination and use of knowledge plan (EU Deliverable DNA2.11" (PDF). 2010.
  5. ^ "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.
  6. ^ "The Wettzell System Monitoring Concept and First Realizations" (PDF). International VLBI Service for Geodesy & Astrometry. 2010. p. 447.
  7. ^ "Hunting for vulnerabilities in large software : the OpenOffice suite" (PDF).
  8. ^ "Introducing the "Debian's Automated Code Analysis" (DACA) project". LWN.net.
  9. ^ Cppcheck on Github
  10. ^ Cppcheck on Debian's Package Tracking System
  11. ^ FreeBSD port
  12. ^ "List of user reported bugs found by cppcheck".
  13. ^ "Found Bugs list". SourceForge. Archived from the original on 2013-10-14.
  14. ^ "SourceForge.net: cppcheck". sourceforge.net.
  15. ^ "cppcheck plugin for CLion". plugins.jetbrains.com.
  16. ^ "Cppcheclipse". googlecode.com.
  17. ^ "Flycheck". github.com.
  18. ^ "gedit Cppcheck plugin". github.com.
  19. ^ "Cppcheck Plugin". hudson-ci.org.
  20. ^ "Cppcheck Plugin". jenkins-ci.org.
  21. ^ "Sublimelinter plugin". github.com.
  22. ^ "Yasca". scovetta.com.
  23. ^ Riverblade. "Visual Lint homepage". Retrieved 11 December 2012.
  24. ^ VioletGiraffe. "Homepage cppcheck-vs-addin". Retrieved 3 March 2014.
  25. ^ Srix. "Simple open source static analysis tool for Visual Studio". Archived from the original on 2015-02-10. Retrieved 27 August 2012.