Accelerating the pace of engineering and science

Polyspace Bug Finder

Hauptmerkmale

  • Erkennung von Laufzeitfehlern, Nebenläufigkeitsfehlern, Sicherheitsrisiken und anderen Fehlern
  • Schnelle Analyse großer Codebasen, bei der Fehler dargestellt werden, sobald sie erkannt werden
  • Konformitätsprüfung für MISRA-C:2004, MISRA-C++:2008, MISRA-C:2012, JSF++ und benutzerdefinierte Namenskonventionen
  • Zyklomatische Komplexität und andere Code-Metriken
  • Eclipse™-Integration
  • Rückverfolgbarkeit von Code-Verifizierungsergebnissen zu Ursprungs Simulink®-Modellen
  • Fehlererkennung mit minimalen Falsch-Meldungen (false-positive)
Static analysis results displayed by Polyspace Bug Finder.
Durch Polyspace Bug Finder angezeigte Ergebnisse der statischen Code-Analyse.

Identifizieren von Softwarefehlern und Sicherheitsrisiken mittels statischer Code-Analyse

Polyspace Bug Finder ist ein Tool für die statische Codeanalyse, das verwendet wird, um Softwarekomponenten oder integrierte Softwareprojekte zu analysieren. Polyspace Bug Finder vereint Techniken zur schnellen statischen Codeanalyse mit formalen Methoden zur genauen Bestimmung von Laufzeitfehlern, Nebenläufigkeitsfehlern, Sicherheitsrisiken und anderen Fehlern in reinem oder gemischten C-/C++-Quellcode mit minimalen Falschmeldungen (false-positive).

Sie können Polyspace Bug Finder verwenden, um Fehler schnell zu finden, zu bewerten und zu beheben. Er hebt Fehler hervor, sobald sie erkannt werden. So müssen Sie nicht warten, bis die Analyse des gesamten Quellcodes abgeschlossen ist. Sie können ihn iterativ verwenden, um Fehler oder Verstöße gegen Codierungsregeln früh im Entwicklungsprozess zu erkennen, sobald der Code geschrieben, geändert oder generiert wird. Sie können Polyspace Bug Finder über die Eclipse™ IDE, Kommandozeilenaufrufe und über die eigene Benutzeroberfläche verwenden. Sie können es automatisiert verwenden und in Ihre Build-Umgebung integrieren.

Polyspace Bug Finder unterstützt kritische Aktivitäten in einem Softwareentwicklungs-Workflow, einschließlich:

  • das Erkennen von Fehlern und Sicherheitsrisiken
  • die Sicherstellung der Einhaltung von Coding-Standards
  • das Generieren von Komplexitätsmetriken für Code
  • das Klassifizieren und Beheben von Fehlern, die identifiziert wurden

Mit Polyspace Bug Finder können Sie ein Projekt erstellen und die statische Codeanalyse durchführen:

  • Erstellen Sie ein Projekt auf Basis des Embedded Targets und des Compilers und richten Sie es ein
  • Finden Sie Fehler im Quellcode
  • Überprüfen Sie die Kompatibilität des Codes mit den Standards MISRA-C:2004, MISRA AC AGC, MISRA-C++:2008, MISRA C:2012, JSF++ (Joint Strike Fighter Air Vehicle C++) oder benutzerdefinierten Namenskonventionen
  • Erstellen Sie Berichte oder visualisieren Sie Ergebnisse der statischen Codeanalyse und die Kompatibilitätsergebnisse des Codes
  • Überprüfen Sie die Ursache von Fehlern, um festzulegen, wie identifizierte Fehler bewertet und behoben werden sollen
  • Verfolgen Sie die Ursache von Fehler im Code zu Simulink-Blöcken oder IBM® Rational® Rhapsody®-Modellen zurück
  • Laden Sie die Ergebnisse der statischen Analyse in ein Web-Dashboard und verfolgen Sie die Softwarequalitätstrends
Identify defects and check compliance to MISRA or JSF++.
Konfigurieren eines Projekts in Polyspace, um Fehler zu identifizieren und die Einhaltung von MISRA oder JSF++ zu überprüfen.

Polyspace Bug Finder arbeitet mit Polyspace Code Prover™, um die Abwesenheit von bestimmten Laufzeitfehlern in Ihrem Quellcode zu beweisen. Diese Produkte bieten zusammen vom Anfang bis zum Ende eine Lösung zur statischen Analyse in der Entwicklung zu einem frühen Zeitpunkt, welche vom Auffinden von Fehler über die Überprüfung der Coderegeln bis hin zum Beweis reicht. Dadurch wird die Zuverlässigkeit eingebetteter Software erhöht bei gleichzeitiger Reduzierung der Aufwände und Kosten durch das Testen.

Sie können die statische Codeanalyse beschleunigen, indem Sie statische Analyseaufträge an ein Computercluster mittels Parallel Computing Toolbox™ und dem MATLAB Distributed Computing Server™ senden.

Verringern Sie die Anzahl der Testdurchläufe durch frühes Finden und Beheben von Fehlern

Polyspace Bug Finder erkennt verschiedene Fehler wie beispielsweise numerische Fehler, Verletzungen von statisch und dynamisch allokierten Speicher, Nebenläufigkeitsfehlern und Sicherheitslücken. Sie können Fehler ohne Aufwände für das Schreiben von Testfällen identifizieren. In einer einzigen Analyse können Sie die meisten Fehler in Ihrem Code identifizieren. Dies ist besonders wichtig für Fehler wie beispielsweise Nebenläufigkeitsdefekten, die mit Testfällen wegen der nicht-deterministischen Art dieser Probleme nur äußerst schwer erkannt werden können.

Fehler werden im Quellcode hervorgehoben, zusammen mit den Informationen zur Ursache, um die Quelle des Fehlers identifizieren können. Dadurch werden zusätzlich die Kosten zur Rückverfolgung von Fehlern während der Debugging- und Behebungsphasen Ihrer Testphase reduziert.

Der unkomplizierte Workflow macht es Entwicklern und Qualitätsingenieuren leicht, die gefundenen Fehler zu klassifizieren und zu beheben. Für jeden erkannten Fehler stellt Polyspace Bug Finder ausführliche Informationen über die Ursache zur Verfügung. In Situationen zum Beispiel, in denen ein Integer-Überlauf auftritt, verfolgt Polyspace Bug Finder alle Codezeilen zurück, die zu dem Überlaufzustand führen. Softwareentwickler können diese Informationen verwenden, um zu bestimmen, wie der Code am besten verbessert werden kann. Qualitätsingenieure können diese Informationen verwenden, um den Fehler für weitere Maßnahmen zu klassifizieren. Ein Qualitätsingenieur kann einen Fehler zum Beispiel für weitere Untersuchungen markieren oder angeben, dass der Fehler niedrige Priorität hat.

An overflow condition identified in Polyspace Bug Finder.
Ein mit Polyspace Bug Finder identifizierter Überlaufzustand.

Überprüfen der Einhaltung von Coding-Standards (MISRA, JSF, Namenskonventionen)

Polyspace Bug Finder unterstützt die Erkennung von Verstößen gegen MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, MISRA AC AGC, JSF++ und benutzerdefinierte Namenskonventionen. Sie können Polyspace Bug Finder verwenden, um die Einhaltung von Codierungsregeln zur Verbesserung der Lesbarkeit und Qualität Ihres Codes zu sichern. Sie können Polyspace Bug Finder auch so konfigurieren, dass alle Regeln des Standards oder nur die vom Standard zwingend geforderten Regeln eingehalten werden. Sie können auch selbst die einzelnen Regeln auswählen, die überprüft werden sollen. Außerdem können Sie Ihre eigene Konfiguration festlegen, um sicherzustellen, dass die gleichen Codierungsregeln innerhalb Ihres Teams verwendet werden.

Sie können Regelverletzungen in Ihrem Quellcode-Editor der Wahl nachverfolgen und beheben oder zu Dokumentationszwecken begründen. Die Polyspace Bug Finder Benutzeroberfläche ermöglicht Ihnen, sich auf die Unterschiede aus der vorhergehenden Analyse zu konzentrieren, um doppelte Arbeit an der gleichen Verletzung zu vermeiden. Zum Nachverfolgen von Ergebnissen über die Zeit können Sie die Analyseergebnisse der Codierungsregeln in ein Web-Dashboard exportieren.

Überprüfen der Einhaltung von MISRA-Coderegeln mit Polyspace-Produkten
Prüfen Sie den Code auf Einhaltung von MISRA C®-Regeln, identifizieren und beheben Sie Verletzungen und erstellen Sie einen Bericht für die Dokumentation.

Identifying a MISRA violation.
Identifizieren eines MISRA-Verstoßes.

Erstellung der Code-Metriken und Überwachung der Softwarequalität

Polyspace Bug Finder generiert Metriken auf Projektebene, auf Dateiebene und auf Funktionsebene, um die Komplexität des Codes zu bewerten. Polyspace Bug Finder unterstützt die Generierung von Hersteller Initiative Software-Metriken (HIS), die in ein Web-Dashboard exportiert werden können. Die Komplexitätsmetriken für Code beinhalten:

  • Zyklomatische Komplexität
  • Funktionsverkettung
  • Kommentardichte
  • Aufrufebenen
  • Anzahl der Pfade
  • CWE-Abbildung

Sie können ein zentrales Qualitätsmodell definieren, um Fehler, Codekomplexität und Code-Regelverletzungen zu verfolgen. Mithilfe dieser Metriken können Sie den Fortschritt in Bezug auf vordefinierte Softwarequalitätsziele verfolgen, während Sie den Code weiter entwickeln. Mit der Messbarkeit der Verbesserungsrate der Codequalität ermöglicht Polyspace Bug Finder den Entwicklern, Testern und Projektmanagern hochqualitativen Code zu planen und zu entwickeln.

Software quality metrics displayed via web browser.

Über einen Web-Browser angezeigte Softwarequalitätsmetriken.

Nachverfolgen der Ergebnisse der Codeanalyse zum Simulink-Modell

Sie können Polyspace Bug Finder verwenden, um generierten Code, handgeschriebenen Code oder gemischten Code zu analysieren. Gefundene Fehler auf Codeebene im automatisch generierten Code können zum Modell in Simulink zurückverfolgt werden. Sie können entscheiden, welche Teile des Modells zuverlässig sind und anschließend Modellfehler beheben, die Fehler im Code verursachen. Sie können auch potenzielle Integrationsprobleme zwischen generiertem und handschriftlichem Code identifizieren. Die Mischung von handschriftlichem Low-Level-Code mit generiertem Code kann zu einem Problem führen, bei dem falsche Wertebereiche in der Schnittstelle einen Laufzeitfehler verursachen. Mit den ausführlichen Informationen zu Datenfluss und Kontrollfluss können Sie den Fehler identifizieren und entweder zum handschriftlichen Code oder zum Modell zurückverfolgen.

Polyspace Bug Finder unterstützt außerdem die Rückverfolgbarkeit der Ergebnisse zu dSPACE® TargetLink®-Blöcken und IBM Rational Rhapsody-Modellen.

Tracing MISRA violations to the Simulink model.
Nachverfolgen von MISRA-Verstößen in das Simulink-Modell.

Erstellen von Zertifizierungsdokumenten

Sie können Polyspace Bug Finder und Polyspace Code Prover mit dem IEC Certification Kit (für ISO 26262 und IEC 61508) und dem DO Qualification Kit (für DO-178B) im Zertifizierungsprozess für Projekte verwenden, die auf diesen Industriestandards basieren.

Berichte und Dokumente beinhalten die endgültige Codequalität, heben überprüfte Abschnitte hervor, die generieren Code-Metriken und dokumentieren die Anwendung von Codierungsregeln und Überprüfungen der Laufzeitfehler. Sie können diese Berichte im PDF-, HTML- oder RTF-Format und in anderen Formaten erstellen.

DO Qualification Kit contents.
Zertifizierungs- und Qualifizierungskits sind verfügbar.

Automotive SPICE – Hohe Softwarequalität effizient erreichen mit...

Webinar anzeigen