Cppcheck

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Cppcheck
Basisdaten

Hauptentwickler Daniel Marjamäki u. a.
Erscheinungsjahr 8. Mai 2007
Aktuelle Version 2.16.0[1]
(27. Oktober 2024)
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]

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

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.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Release Cppcheck-2.16.0. In: GitHub. 27. Oktober 2024 (abgerufen am 27. Oktober 2024).
  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