Cppcheck

Basisdaten

Hauptentwickler Daniel Marjamäki u. a.
Erscheinungsjahr 8. Mai 2007
Aktuelle Version 2.21.0[1]
(4. Juni 2026)
Betriebssystem plattformunabhängig
Programmier­sprache C++
Kategorie Programmierwerkzeug
Lizenz GNU General Public License
deutschsprachig ja
cppcheck.sourceforge.io

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

Bearbeiten

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

Bearbeiten

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.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Release 2.21.0. 4. Juni 2026 (abgerufen am 5. Juni 2026).
  2. Cppcheck. GitHub
  3. softeng.rl.ac.uk: A Survey of C and C++ Software Tools for Computational Science (Memento vom 12. März 2012 im Internet Archive; PDF; 218 kB, englisch)
  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. Cppcheck-Wiki
  12. cl.cam.ac.uk: Hunting for vulnerabilities in large software: the OpenOffice suite (Memento vom 28. September 2012 im Internet Archive; PDF; 127 kB, englisch)
  13. Introducing the “Debian’s Automated Code Analysis” (DACA) project.lwn.net

📚 Artikel Terkait di Wikipedia

Statische Code-Analyse

Gebiet sind neben Lint auch Checkstyle, FindBugs und PMD für Java oder Cppcheck für C/C++, Splint für C oder FxCop bzw. StyleCop für C# zu nennen. Derartige

Liste von Werkzeugen zur statischen Codeanalyse

Softwaremodelle basierend auf lazy abstraction in C Programmen zu prüfen. Cppcheck Open-Source-Werkzeug zur Prüfung verschiedener Fehlertypen, beispielsweise

Quelltextklon

PMD-Plugin CPD (Copy/Paste Detector), Clone Digger (für Python und Java), Cppcheck (für C++ und C) und ConQAT (für Ada, ABAP, C#, C, C++, COBOL, Java, Visual