Cppcheck

aus Wikipedia, der freien Enzyklopädie
Cppcheck
Basisdaten

Maintainer Daniel Marjamäki u. a.
Betriebssystem plattformunabhängig
Programmiersprache C++
Kategorie Programmierwerkzeug
deutschsprachig ja

Cppcheck ist ein Programm zur statischen Codeanalyse für die Programmiersprachen C und C++. Es wird aktiv entwickelt[1] 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.[2]

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[3]
  • 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[4][5] 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.[10] Dazu gehören unter anderem der Linux-Kernel, OpenOffice.org[11] und LibreOffice, Debian[12] und MPlayer.

Weblinks

Einzelnachweise

  1. Cppcheck. GitHub
  2. A Survey of C and C++ Software Tools for Computational Science. (Memento des Originals vom 12. März 2012 im Internet Archive; PDF; 223 kB)  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
  3. Liste veralteter Funktionen
  4. Cppcheck in Debian
  5. Cppcheck in FreeBSD
  6. CppCheck Plugin im CodeLite-Wiki, abgerufen am 13. Juli 2021.
  7. Cppcheclipse
  8. Cppcheck Plugin für Jenkins
  9. Cppcheck add-in. In: Visual Studio Marketplace. Abgerufen am 12. Oktober 2018.
  10. Auflistung einiger wichtiger Fehlerfunde. Cppcheck-Wiki
  11. Hunting for vulnerabilities in large software: the OpenOffice suite. (PDF; 130 kB)
  12. Introducing the “Debian’s Automated Code Analysis” (DACA) project.lwn.net