Cppcheck Explained

Cppcheck
Author:Daniel Marjamäki
Programming Language:C++
Operating System:Cross-platform
Language:English, Dutch, Finnish, Swedish, German, Russian, Japanese, Serbian, Spanish, French, Italian, Korean, Chinese
Genre:Static code analysis
License:GNU General Public License

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 that 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 or text editors exist[14]

See also

Notes and References

  1. Web site: A Survey of C and C++ Software Tools for Computational Science. Science and Technologies Facility Council. Chilbolton, Daresbury, and Rutherford Appleton Laboratories. 14 September 2010. 14. December 2009. dead. https://web.archive.org/web/20120312224600/http://www.softeng.rl.ac.uk/media/uploads/publications/2010/03/c-c_tools_report.pdf. 12 March 2012.
  2. Web site: System Interfaces. 2020-09-24. pubs.opengroup.org.
  3. Web site: Static Code Analysis For Embedded Systems.
  4. Web site: Dissemination and use of knowledge plan (EU Deliverable DNA2.11. 2010. 2010-09-15. 2013-06-04. https://web.archive.org/web/20130604115641/https://etics.web.cern.ch/etics/deliverables/ETICS-DNA2%2011-1065007-Dissemination_Use_Knowledge_Plan-v1%201.pdf. dead.
  5. Web site: 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). 2010. dead. https://web.archive.org/web/20120311001129/http://www.kip.uni-heidelberg.de/tip/root/img/pool/literature/theses/2009_mueller-klieser_stefan.pdf. 2012-03-11.
  6. Web site: The Wettzell System Monitoring Concept and First Realizations. 2010. 447. International VLBI Service for Geodesy & Astrometry.
  7. Web site: Hunting for vulnerabilities in large software : the OpenOffice suite. 2010-09-15. 2012-09-28. https://web.archive.org/web/20120928061319/http://www.cl.cam.ac.uk/~wmk26/openoffice/openoffice9.pdf. dead.
  8. Web site: Introducing the "Debian's Automated Code Analysis" (DACA) project. LWN.net.
  9. https://github.com/danmar/cppcheck/ Cppcheck on Github
  10. http://packages.qa.debian.org/c/cppcheck.html Cppcheck on Debian's Package Tracking System
  11. http://svnweb.freebsd.org/ports/head/devel/cppcheck/distinfo FreeBSD port
  12. Web site: List of user reported bugs found by cppcheck.
  13. Web site: Found Bugs list. https://web.archive.org/web/20131014013121/http://sourceforge.net/apps/mediawiki/cppcheck/index.php?title=Found_bugs. 2013-10-14. SourceForge.
  14. Web site: SourceForge.net: cppcheck . https://archive.today/20120718020019/http://sourceforge.net/apps/mediawiki/cppcheck . dead . 2012-07-18 . sourceforge.net .
  15. Web site: cppcheck plugin for CLion . plugins.jetbrains.com.
  16. Web site: Cppcheclipse . github.com.
  17. Web site: Flycheck . github.com.
  18. Web site: gedit Cppcheck plugin . https://archive.today/20121217133145/https://github.com/odamite/gedit-cppcheck . dead . 2012-12-17 . github.com .
  19. Web site: Cppcheck Plugin . hudson-ci.org . 2010-09-15 . https://web.archive.org/web/20171026175153/http://wiki.hudson-ci.org/display/HUDSON/Cppcheck+Plugin . 2017-10-26 . dead .
  20. Web site: Cppcheck Plugin . jenkins-ci.org. 20 May 2022 .
  21. Web site: Kate Project Plugin News – Code Analysis. Cullmann. Christoph. 2013-02-02. Kate Get an Edge in Editing. 2016-12-14.
  22. Web site: KDevelop's Cppcheck plugin merged into kdevelop.git, will be released with 5.1. Funk. Kevin. 2016-12-06. 2016-12-14.
  23. Web site: Qt Creator Plug-in Gallery . Qt Wiki.
  24. Web site: Sublimelinter plugin . github.com.
  25. Web site: Cppcheck add-in . Visual Studio Marketplace.
  26. Web site: VioletGiraffe. Homepage cppcheck-vs-addin. . 3 March 2014.
  27. Web site: Srix. Simple open source static analysis tool for Visual Studio. 27 August 2012. https://web.archive.org/web/20150210000727/http://www.technosrix.com/simple-open-source-static-analysis-tool-for-visual-studio/. 2015-02-10.
  28. Web site: Yasca . Scovetta . Michael .