Cppcheck

Cppcheck
Basisdaten

MaintainerDaniel Marjamäki u. a.
Erscheinungsjahr8. Mai 2007
Aktuelle Version2.7[1]
(5. Februar 2022)
Betriebssystemplattformunabhängig
ProgrammierspracheC++
KategorieProgrammierwerkzeug
LizenzGNU General Public License
deutschsprachigja
cppcheck.sourceforge.net

Cppcheck ist ein Programm zur statischen Codeanalyse für die Programmiersprachen C und C++. Es wird aktiv entwickelt[2] und unter der GNU General Public License veröffentlicht. Es unterstützt eine Vielzahl von Tests und ist in der Lage, nicht-standardisierten Code zu überprüfen.[3]

Funktionen

Cppcheck unterstützt eine Reihe von statischen Tests, die von Compilern nicht oder nur teilweise durchgeführt werden, wie z. B.:

  • Array-Überläufe
  • Ressourcen- und Speicherlecks
  • Benutzung veralteter Funktionen[4]
  • Verwendung von Funktionen, die nicht threadsicher sind
  • falsche Benutzung der Standard Template Library
  • Ungenauigkeiten beim Aufruf von C-Standardbibliotheksfunktionen, z. B. verdächtige Formatstrings bei printf-Funktionen
  • inkorrekte Ausnahmebehandlung
  • verschiedene Geschwindigkeits- und Stiloptimierungen
  • fehlerhafte Verwendung von Zeigervariablen
  • uninitialisierte Variable
  • „verdächtige“ Ausdrücke, wie z. B. Semikolon hinter Bedingung

Verbreitung

Das Programm wird von einigen Linux-Distributionen verteilt und mitentwickelt[5][6] und existiert sowohl eigenständig als auch in Form von Plug-ins für verschiedene Entwicklungsumgebungen:

Außer der Version für die Kommandozeile existiert eine grafische Benutzeroberfläche basierend auf Qt.

Cppcheck wird in einigen großen Projekten eingesetzt und hat bereits geholfen, Fehler zu finden und zu beseitigen.[11] Dazu gehören unter anderem der Linux-Kernel, OpenOffice.org[12] und LibreOffice, Debian[13] und MPlayer.

Weblinks

Einzelnachweise

  1. Cppcheck-2.7. (abgerufen am 7. Februar 2022).
  2. Cppcheck auf GitHub
  3. „A Survey of C and C++ Software Tools for Computational Science“ (PDF; 223 kB) (Memento des Originals vom 12. März 2012 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.softeng.rl.ac.uk
  4. Liste veralteter Funktionen
  5. Cppcheck in Debian
  6. Cppcheck in FreeBSD
  7. CppCheck Plugin im CodeLite-Wiki, abgerufen am 13. Juli 2021.
  8. Cppcheclipse
  9. Cppcheck Plugin für Jenkins
  10. Cppcheck add-in. In: Visual Studio Marketplace. Abgerufen am 12. Oktober 2018.
  11. Auflistung einiger wichtiger Fehlerfunde im Cppcheck-Wiki
  12. „Hunting for vulnerabilities in large software: the OpenOffice suite“ (PDF; 130 kB)
  13. Introducing the "Debian's Automated Code Analysis" (DACA) project