Cppcheck

Cppcheck
Cppcheck
Aktuelle Version 1.51
(8. Oktober 2011)
Betriebssystem plattformunabhängig
Programmier­sprache C++
Lizenz GNU General Public License
Deutschsprachig nein
http://cppcheck.sourceforge.net/

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]

Inhaltsverzeichnis

Funktionen

Cppcheck unterstützt eine Reihe von statischen Tests, die von Compilern nicht oder nur teilweise durchgeführt werden. Einige davon sind:

  • inkorrekte Benutzung von Klassen
  • Überprüfung von automatische Variablen
  • Array-Überläufe
  • Ressourcen- und Speicherlecks
  • Benutzung veralteter Funktionen[3]
  • Verwendung von Funktion die nicht threadsafe sind
  • falsche Benutzung der Standard Template Library
  • inkorrekte Ausnahmebehandlung
  • verschiedene Geschwindigkeits- und Stiloptimierungen
  • fehlerhafte Verwendung von Zeigervariablen

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:

Die eigenständige Version für Microsoft Windows besitzt zudem eine optionale grafische Benutzeroberfläche.

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

Entwicklungsgeschichte

Das Programm wird seit Mai 2007 entwickelt. Im Abstand von ein bis drei Monaten erscheinen neue Versionen mit neuen und verbesserten Tests. Folgende Tabelle gibt einen Überblick über die bisher erschienenen Versionen und deren Veröffentlichungsdaten.[11]

Version Veröffentlichung Anmerkungen
Ältere Version; nicht mehr unterstützt: 1.28 1. Februar 2009 Erste dokumentierte Version.
Ältere Version; nicht mehr unterstützt: 1.29 2. März 2009
Ältere Version; nicht mehr unterstützt: 1.31 12. April 2009 1.30 war eine Bugfix-Version für 1.29.
Ältere Version; nicht mehr unterstützt: 1.32 10. Mai 2009
Ältere Version; nicht mehr unterstützt: 1.33 7. Juni 2009
Ältere Version; nicht mehr unterstützt: 1.34 12. Juli 2009
Ältere Version; nicht mehr unterstützt: 1.35 16. August 2009
Ältere Version; nicht mehr unterstützt: 1.36 20. September 2009
Ältere Version; nicht mehr unterstützt: 1.38 25. Oktober 2009 1.37 war eine Bugfix-Version für 1.36.
Ältere Version; nicht mehr unterstützt: 1.39 6. Dezember 2009
Ältere Version; nicht mehr unterstützt: 1.40 17. Januar 2010
Ältere Version; nicht mehr unterstützt: 1.41 7. März 2010
Ältere Version; nicht mehr unterstützt: 1.43 8. Mai 2010 1.42 war eine Bugfix-Version für 1.41.
Ältere Version; nicht mehr unterstützt: 1.44 10. Juli 2010
Ältere Version; nicht mehr unterstützt: 1.45 3. Oktober 2010
Ältere Version; nicht mehr unterstützt: 1.46 12. Dezember 2010
Ältere Version; nicht mehr unterstützt: 1.47 6. Februar 2011
Ältere Version; nicht mehr unterstützt: 1.48 4. April 2011
Ältere Version; nicht mehr unterstützt: 1.49 12. Juni 2011
Ältere Version; nicht mehr unterstützt: 1.50 14. August 2011
Aktuelle Version: 1.51 8. Oktober 2011 Neue Tests: Initialisierungsreihenfolge in Konstruktoren, Redundante boolsche Vergleiche
Zukünftige Version: 1.52 10. Dezember 2011
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Weblinks

Einzelnachweise

  1. Cppcheck auf GitHub
  2. „A Survey of C and C++ Software Tools for Computational Science“ (PDF)
  3. Liste veralteter Funktionen
  4. Cppcheck in Debian
  5. Cppcheck in FreeBSD
  6. Cppcheclipse
  7. Cppcheck Plugin für Jenkins
  8. Auflistung einiger wichtiger Fehlerfunde im Cppcheck-Wiki
  9. „Hunting for vulnerabilities in large software: the OpenOffice suite“ (PDF)
  10. Introducing the "Debian's Automated Code Analysis" (DACA) project
  11. Überblick der Versionshistorie

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Cppcheck — Original author(s) Daniel Marjamäki Initial release March 10, 2009 (2009 03 10) Stable release 1.51 / October 8, 2011; 44 days ago (2011 10 08) …   Wikipedia

  • Coverity — Coverity, Inc. Type Private Industry Software integrity Founded November 2002 Headquarters San Francisco, CA …   Wikipedia

  • List of tools for static code analysis — This is a list of significant tools for static code analysis.Historical products* Lint the original static code analyzer of C code.Open source or Noncommercial products .NET (C#, VB.NET and all .NET compatible languages) *… …   Wikipedia

  • Statische Code-Analyse — oder kurz statische Analyse ist ein statisches Software Testverfahren. Der Quelltext wird hierbei einer Reihe formaler Prüfungen unterzogen, bei denen bestimmte Sorten von Fehlern entdeckt werden können, noch bevor die entsprechende Software… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”