Polyspace Bug Finder

Hauptmerkmale

  • Erkennung von Laufzeitfehlern, Datenflussfehlern und anderen Fehlern im C- und C++-Code
  • Schnelle Analyse großer Codebasen
  • Konformitätsprüfung für MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, JSF++ und benutzerdefinierte Namenskonventionen
  • Zyklomatische Komplexität und andere Codemetriken
  • Eclipse™-Integration
  • Rückverfolgbarkeit von Codeverifikationsergebnissen zu Simulink®-Modellen
  • Zugriff auf Polyspace Code Prover™-Ergebnisse
  • Fehlererkennung mit einer geringen Rate von falsch positiven Ergebnissen
Static analysis results displayed by Polyspace Bug Finder.
Von Polyspace Bug Finder angezeigte Ergebnisse der statischen Analyse.

Softwarefehler mithilfe statischer Analyse identifizieren

Polyspace Bug Finder ist ein Tool für die statische Codeanalyse, das für die Analyse von Codekomponenten oder von Gesamtprojekten für integrierte Software verwendet wird. Polyspace Bug Finder verwendet schnelle Techniken zur statischen Codeanalyse einschließlich formaler Methoden mit niedrigen falsch-positiv-Raten, um numerische Fehler, Datenflussfehler, Programmierungsfehler und andere Fehler im C- oder C++-Quellcode zu lokalisieren.

Sie können Fehler schnell finden, sie den jeweiligen Mitarbeitern zuweisen und beheben. Polyspace Bug Finder erkennt Fehler und Verletzungen von Codierungsregeln beim Schreiben, Ändern oder Generieren von Code. Sie können mit Polyspace Bug Finder Ihren Code frühzeitig im Entwicklungsprozess schrittweise debuggen und korrigieren. Das Programm unterstützt den Aufruf über die Befehlszeile, die Verwendung über eine Standalone-Benutzeroberfläche und die Verwendung mit der Eclipse IDE. Die Integration in Build-Umgebungen für die automatisierte Verwendung ist möglich. Polyspace Bug Finder unterstützt kritische Aktivitäten im Softwareentwicklungs-Workflow. Dazu gehören folgende:

  • Fehler erkennen
  • Codierungsstandards erzwingen
  • Codekomplexitätsmetriken generieren
  • Identifizierte Fehler zuweisen und beheben

Mit Polyspace Bug Finder können Sie ein Projekt einrichten und statische Codeanalysen durchführen:

  • Ein Projekt nach Embedded Target und Compiler erstellen und einrichten
  • Fehler im Quellcode lokalisieren
  • Die Konformitä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++) sicherstellen und prüfen, ob der Code benutzerdefinierten Namenskonventionen entspricht
  • Berichte erstellen oder statische Codeanalysen und Codekonformitätsergebnisse visualisieren
  • Die Ursache von Fehlern prüfen, um festzulegen, wie identifizierte Fehler zugewiesen und behoben werden
  • Codefehler zu Simulink-Blöcken oder IBM Rational Rhapsody-Modellen rückverfolgen
  • Ergebnisse der statischen Analyse auf ein Web-Dashboard hochladen, um Softwarequalitätstrends zu überwachen
Identify defects and check compliance to MISRA or JSF++.
Ein Projekt in Polyspace konfigurieren, um Fehler zu identifizieren und die Konformität mit MISRA oder JSF++ zu prüfen.

Polyspace Bug Finder kann gemeinsam mit Polyspace Code Prover eingesetzt werden, um zu beweisen, dass bestimmte Laufzeitfehler nicht im Quellcode enthalten sind. Diese Produkte bieten eine umfassende Funktion zur statischen Analyse, die frühzeitig im Entwicklungsprozess genutzt werden kann, um Fehler zu lokalisieren, Coderegeln zu prüfen und Nachweise zu liefern. Diese Funktion stellt die Zuverlässigkeit von integrierter Software sicher, die höchste Ansprüche an Softwarequalität und -sicherheit erfüllen muss.

Sie können die statische Codeanalyse beschleunigen, indem Sie Jobs zur statischen Analyse an Computer-Cluster mit Parallel Computing Toolbox™ und dem MATLAB Distributed Computing Server™ übergeben.

Fehler erkennen und Defekte selektieren

Polyspace Bug Finder erkennt eine Vielzahl von Fehlern wie z. B. numerische Fehler, Programmierungsfehler sowie Fehler im Zusammenhang mit dem statischen Speicher, dem dynamischen Speicher und dem Datenfluss. Diese Fehler werden im Quellcode identifiziert. Darüber hinaus werden Informationen zur Rückverfolgung bereitgestellt, damit die Ursache und die Fehlerquelle bestimmt werden können. Verletzungen von Codierungsregeln werden direkt im Quellcode identifiziert und es werden Informationsmeldungen zur Regelverletzung bereitgestellt.

Der unkomplizierte Workflow ermöglicht Entwicklern und Qualitätsingenieuren die Klassifizierung und Verwaltung der Fehlerbehebung. Für jeden erkannten Fehler liefert Polyspace Bug Finder detaillierte Informationen zur Fehlerursache. Beispiel: Wenn ein Integerüberlauf auftritt, verfolgt Polyspace Bug Finder alle Zeilennummern im Code, die zur Überlaufsituation führen. Softwareentwickler können mit diesen Informationen bestimmen, wie sie den Code am besten korrigieren. Qualitätsingenieure können mit diesen Informationen den Fehler klassifizieren, um geeignete Maßnahmen zu ergreifen. Beispiel: Qualitätsingenieure können den Fehler für genauere Untersuchungen markieren oder angeben, dass der Fehler eine niedrige Priorität hat.

An overflow condition identified in Polyspace Bug Finder.
Eine in Polyspace Bug Finder identifizierte Überlaufbedingung.

Konformität mit Codierungsstandards verifizieren (MISRA, JSF, Namenskonventionen)

Polyspace Bug Finder unterstützt die Erkennung von Verletzungen der Standards MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, MISRA-AC-AGC und JSF++ sowie von Verletzungen benutzerdefinierter Namenskonventionen bei der Codierung. Sie können Polyspace Bug Finder verwenden, um Codierungsregeln zur Verbesserung der Lesbarkeit und Qualität Ihres Programmcodes zu erzwingen. Sie können Polyspace Bug Finder so konfigurieren, dass alle Regeln des Standards oder nur die gemäß des Standards erforderlichen Regeln berücksichtigt werden. Alternativ können Sie die zu erzwingenden Regeln einzeln auswählen. Sie können auch Ihre eigene Konfiguration definieren, um sicherzustellen, dass dieselben Codierungsregeln innerhalb Ihres Teams durchgesetzt werden.

Sie können Regelverletzungen korrigieren, indem Sie sie zu Ihrem Quellcode-Editor rückverfolgen. Alternativ können Sie die Verletzungen der Codierungsregel zu Dokumentationszwecken oder als Codekommentare begründen. Die Polyspace Bug Finder-Benutzeroberfläche ermöglicht Ihnen, sich auf die Unterschiede im Vergleich zu vorhergehenden Analysen zu konzentrieren, um doppelte Verletzungsprüfungen zu vermeiden. Die Ergebnisse von Codierungsregelanalysen können in ein Web-Dashboard exportiert werden, damit Ergebnisse langfristig verfolgt werden können.

Identifying a MISRA violation.
MISRA-Verletzung identifizieren.

Codekomplexitätsmetriken generieren, Softwarequalität überwachen

Polyspace Bug Finder generiert zur Evaluierung der Komplexität des Programmcodes Metriken auf Projekt-, Datei- und Funktionsebene. Polyspace Bug Finder unterstützt die Generierung von HIS-Metriken (HIS; Hersteller Initiative Software), die in ein Web-Dashboard exportiert werden können. Zu den Metriken für die Codekomplexität gehören folgende:

  • Zyklomatische Komplexität
  • Kommentardichte
  • Aufrufebenen
  • Anzahl Pfade
  • Anzahl Funktionsparameter

Sie können ein zentralisiertes Qualitätsmodell definieren, um Fehler, Codekomplexität und Verletzungen von Codierungsregeln zu verfolgen. Mit diesen Metriken können Sie Ihren Fortschritt in Bezug auf vordefinierte Softwarequalitätsziele bei der Entwicklung Ihres Programmcodes verfolgen. Durch Messung der Verbesserungsrate bei der Codequalität ermöglicht es Polyspace Bug Finder Entwicklern, Testern und Projektmanagern, qualitativ hochwertigen Code bereitzustellen.

Software quality metrics displayed via web browser.

Über den Web-Browser angezeigte Softwarequalitätsmetriken

Codeanalyseergebnisse zu Simulink-Modellen rückverfolgen

Sie können Polyspace Bug Finder für die Analyse von generiertem Code oder gemischtem Code, der sowohl generierten Code als auch handgeschriebenen Code enthält, verwenden. Bei Fehlern auf Codeebene wird der automatisch generierte Code zum Modell in Simulink rückverfolgt. Sie können erkennen, welche Teile des Modells zuverlässig sind, und Entwurfsprobleme korrigieren, die zu Fehlern im Code führen. Sie können auch mögliche Probleme zwischen der Schnittstelle von generiertem Code und handgeschriebenem Code identifizieren. Beispiel: Der kombinierte Einsatz von handgeschriebenem S-Function-Code und generiertem Code führt möglicherweise zu einem Problem, bei dem nicht korrekte Signalbereiche in der Schnittstelle einen Laufzeitfehler verursachen.

Polyspace Bug Finder unterstützt auch die Rückverfolgung von Ergebnissen zu dSPACE TargetLink-Blöcken und IBM Rational Rhapsody-Modellen.

Tracing MISRA violations to the Simulink model.
MISRA-Verletzungen zum Simulink-Modell verfolgen.

Zertifizierungsartefakte erstellen

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

In Berichten und Artefakten wird die Endqualität des Programmcodes angezeigt. Zudem werden überprüfte Abschnitte hervorgehoben, Codemetriken erstellt und die Anwendung von Codierungsregeln und der Laufzeitfehlerstatus dokumentiert. Es ist möglich, diese Berichte im PDF-, HTML- oder RTF-Format und in anderen Formaten zu erstellen.

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

Kein Spaß an Code Reviews? Automatische Verifikation!

Webinar anzeigen