Veröffentlichung von cppcheck 2.7, einem statischen Codeanalysator für die Sprachen C++ und C.

Die neue Version des statischen Codeanalyse-Werkzeugs cppcheck 2.7 ist jetzt verfügbar. Dieses Tool ermöglicht die Identifizierung verschiedener Klassen von Fehlern in C- und C++-Code, auch bei Verwendung von nicht standardkonformem Syntax, das typisch für eingebettete Systeme ist. Es wird eine Sammlung von Plugins bereitgestellt, die die Integration von cppcheck mit verschiedenen Entwicklungs-, kontinuierlichen Integrations- und Testsystemen ermöglichen. Zudem bietet es Funktionen zur Überprüfung der Übereinstimmung des Codes mit den Programmierstandards. Für die Codeanalyse kann sowohl der hauseigene Parser als auch der externe Clang-Parser verwendet werden. Außerdem gehört ein Skript donate-cpu.py zum Paket, um lokale Ressourcen für die gemeinsame Überprüfung von Debian-Paketcodes zur Verfügung zu stellen. Der Quellcode des Projekts wird unter der GPLv3-Lizenz verbreitet.

Die Entwicklung von cppcheck konzentriert sich darauf, Probleme im Zusammenhang mit unvorhersehbarem Verhalten und der Verwendung potenziell unsicherer Konstrukte zu identifizieren. Ziel ist auch die Minimierung von Fehlalarmierungen. Zu den identifizierten Problemen gehören: Zeiger auf nicht existente Objekte, Division durch Null, ganzzahlige Überläufe, fehlerhafte Bitverschiebungen, inkorrekte Typumwandlungen, Speicherprobleme, unsachgemäße Verwendung von STL, Dereferenzierung von Nullzeigern, Überprüfungen nach dem tatsächlichen Zugriff auf den Puffer, Überläufe von Puffern und die Verwendung von nicht initialisierten Variablen.

Parallel dazu wird von der schwedischen Firma Cppcheck Solutions AB eine erweiterte Version von Cppcheck Premium entwickelt, die die Analyse von Endlosschleifen, eine verbesserte Suche nach nicht initialisierten Variablen und eine erweiterte Analyse von Pufferüberläufen ermöglicht.

In der neuen Version:

  • Die Unterstützung für Container-Views wurde hinzugefügt – im Bibliotheks-Tag wurde das Attribut view hinzugefügt, das angibt, dass die Klasse ein View ist. Der Code zur Analyse der Lebensdauer wurde aktualisiert, um dieses Attribut bei der Suche nach "hängenden" Containern zu verwenden;
  • Die Prüfungen wurden verbessert;
  • Ansammlungen von Fehlern wurden behoben und Mängel des Analysators behoben.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster