Hauptmerkmale

  • Erkennung von Laufzeitfehlern, Nebenläufigkeitsfehlern, Sicherheitsrisiken und anderen Fehlern
  • Schnelle Analyse großer Codebasen, bei der bereits Ergebnisse angezeigt werden, während die Analyse noch läuft
  • 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
  • Nachverfolgen der Ergebnisse der Codeanalyse zu Simulink®-Modellen
  • Fehlererkennung mit minimalen Falsch-Meldungen (false-positive)

Anzeige von Ergebnissen der statischen Codeanalyse mit Polyspace Bug Finder.


Identifizieren von Softwarefehlern und Sicherheitsrisiken mittels statischer Code-Analyse

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

Mit Polyspace Bug Finder können Sie einfach statische Codeanalyse-Projekte erstellen:

  • Erstellen Sie ein Projekt, um Eigenschaften Ihrer Embedded Targets und Compiler abzubilden.
  • Finden Sie eine Vielzahl von Fehlern unterschiedlicher Kategorien wie Datenfluss-, Speicher- und Nebenläufigkeitsfehler und erkennen Sie Sicherheitsrisiken, um Angriffe zu verhindern.
  • Überprüfen Sie die Kompatibilität des Codes zu 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
  • Identifizieren Sie die Fehlerursache (Root-Cause), bewerten diese und legen fest, ob und wie diese behoben werden sollen
  • Verfolgen Sie die Ursache von Fehlern 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 Softwarequalitätstrends

Polyspace Bug Finder arbeitet mit Polyspace Code Prover™, um die Abwesenheit von sicherheitskritischen Laufzeitfehlern wie Division durch Null oder sicherheitsrelevanten Speicherüberläufen in Ihrem Quellcode nachzuweisen. Diese Produkte bieten gemeinsam eine umfassende Lösung zur statischen und semantischen Analyse, welche vom Auffinden von Fehlern über die Überprüfung der Coderegeln bis hin zum Beweis, bereits in frühen Entwicklungsphasen reicht. Dadurch wird die Zuverlässigkeit eingebetteter Software erhöht bei gleichzeitiger Reduzierung der Aufwände und Kosten durch das Testen.

Konfigurieren eines Projekts in Polyspace, um Fehler zu identifizieren und die Einhaltung von MISRA oder JSF++ zu überprüfen.

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

Polyspace Bug Finder nutzt statische und semantische Analysen zur exakten Erkennung von Verstößen gegen MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, MISRA AC AGC und JSF++. Sie können Polyspace Bug Finder außerdem verwenden, um die Einhaltung benutzerdefinierter Namenskonventionen und Codierungsregeln zur Verbesserung der Lesbarkeit und Wartbarkeit Ihres Codes sicherzustellen. Des Weiteren können Sie Angriffsrisiken erkennen, um die Einhaltung von Richtlinien, wie CERT C oder CWE zur Software-Sicherheit, zu gewährleisten.

Sie können Polyspace Bug Finder auch so konfigurieren, dass die Einhaltung aller Regeln des Standards oder nur die vom Standard zwingend geforderten Regeln überprüft werden. Sie können auch selbst einzelne Regeln auswählen, die überprüft werden sollen. Außerdem können Sie Konfigurationen festlegen und teilen, 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 kommentieren und bewerten. Die Polyspace Bug Finder Benutzeroberfläche ermöglicht Ihnen, sich auf die Unterschiede aus der vorhergehenden Analyse zu fokussieren, 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.


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 allokiertem Speicher, Nebenläufigkeitsfehler und Sicherheitslücken. Sie können Fehler identifizieren ohne Aufwände für das Schreiben von Testfällen. In einer einzigen Analyse können Sie die meisten Fehler in Ihrem Code identifizieren. Dies ist besonders wichtig für Fehler wie beispielsweise Nebenläufigkeitsdefekte, 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 Debugging- und Testphasen 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 der Ursache des Überlaufs führen. Softwareentwickler können diese Informationen verwenden, um zu bestimmen, wie der Code verbessert werden kann. Qualitätsingenieure können diese Informationen verwenden, um Fehler für weitere Maßnahmen zu klassifizieren. Ein Qualitätsingenieur kann einen Fehler zum Beispiel für weitere Untersuchungen markieren oder angeben, welche Priorität die Aktivität hat.

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 die Einhaltung aller Regeln des Standards oder nur die vom Standard zwingend geforderten Regeln überprüft werden. Sie können auch selbst einzelne Regeln auswählen, die überprüft werden sollen. Außerdem können Sie Konfigurationen festlegen und teilen, 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 kommentieren und bewerten. Die Polyspace Bug Finder Benutzeroberfläche ermöglicht Ihnen, sich auf die Unterschiede aus der vorhergehenden Analyse zu fokussieren, 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.

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.

Identifizieren eines MISRA Regel-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
  • Anzahl der Aufrufebenen
  • Anzahl der Pfade
  • Mapping zu Common Weakness Enumeration (CWE)

Sie können ein zentrales Qualitätsmodell definieren, um Fehler, Codekomplexität und 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 entwickeln.

Über einen Web-Browser angezeigte Softwarequalitätsmetriken.

Sie können Polyspace Bug Finder verwenden, um generierten Code, handgeschriebenen Code oder gemischten Code zu analysieren. Identifizierte Fehler auf Codeebene können zum Modell in Simulink zurückverfolgt werden. Sie können entscheiden, welche Teile des Modells zuverlässig sind und anschließend Fehlerursachen im Modell beheben. Sie können auch potenzielle Integrationsprobleme zwischen generiertem und handschriftlichem Code identifizieren. Die Mischung von Low-Level-Code mit generiertem Code kann zu einem Problem führen, bei dem falsche Wertebereiche von Signalen über Schnittstellen einen Laufzeitfehler verursachen. Mit den ausführlichen Informationen zu Datenfluss und Kontrollfluss können Sie die Fehlerursache identifizieren und zum 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.

Nachverfolgen von MISRA-Verstößen zum 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 beinhalten Code-Metriken und Angaben zur Codequalität, heben inspizierte Abschnitte hervor und dokumentieren die Anwendung von Codierungsregeln und Überprüfungen auf Laufzeitfehler. Sie können diese Berichte im PDF-, HTML- oder RTF-Format und in anderen Formaten erstellen.

Zertifizierungs- und Qualifizierungskits sind verfügbar.