Veröffentlichung von cppcheck 2.7, einem statischen Code-Analysator für C++- und C-Sprachen

Es wurde eine neue Version des statischen Code-Analysators cppcheck 2.7 veröffentlicht, mit der Sie verschiedene Fehlerklassen im Code in den Sprachen C und C++ identifizieren können, auch bei Verwendung einer nicht standardmäßigen Syntax, die für eingebettete Systeme typisch ist. Es wird eine Sammlung von Plugins bereitgestellt, über die cppcheck in verschiedene Entwicklungs-, kontinuierliche Integrations- und Testsysteme integriert wird und außerdem Funktionen wie die Überprüfung der Code-Konformität mit dem Code-Stil bereitstellt. Zum Parsen von Code können Sie entweder Ihren eigenen Parser oder einen externen Parser von Clang verwenden. Es enthält auch das Skript donate-cpu.py, um lokale Ressourcen für die gemeinsame Codeüberprüfung von Debian-Paketen bereitzustellen. Der Quellcode des Projekts wird unter der GPLv3-Lizenz vertrieben.

Die Entwicklung von cppcheck konzentriert sich auf die Identifizierung von Problemen im Zusammenhang mit undefiniertem Verhalten und der Verwendung sicherheitstechnisch gefährlicher Designs. Ziel ist es auch, Fehlalarme zu minimieren. Zu den identifizierten Problemen gehören: Zeiger auf nicht vorhandene Objekte, Divisionen durch Null, Ganzzahlüberläufe, falsche Bitverschiebungsoperationen, falsche Konvertierungen, Probleme bei der Arbeit mit dem Speicher, falsche Verwendung von STL, Nullzeiger-Dereferenzierungen, die Verwendung von Prüfungen nach dem tatsächlichen Zugriff zum Puffer, Pufferüberläufe, Verwendung nicht initialisierter Variablen.

Parallel dazu entwickelt das schwedische Unternehmen Cppcheck Solutions AB eine erweiterte Version von Cppcheck Premium, die eine Analyse des Vorhandenseins von Endlosschleifen, eine verbesserte Suche nach nicht initialisierten Variablen und eine erweiterte Pufferüberlaufanalyse bietet.

In der neuen Version:

  • Unterstützung für Ansichten von Containern hinzugefügt – das View-Attribut wurde zum Bibliotheks-Tag hinzugefügt, was angibt, dass die Klasse eine Ansicht ist. Der Lebensdaueranalysecode wurde aktualisiert, um dieses Attribut bei der Suche nach baumelnden Containern zu verwenden.
  • Verbesserte Kontrollen;
  • Kumulierte Fehler wurden korrigiert und Mängel im Analysator behoben.

Source: opennet.ru

Kommentar hinzufügen