Ausführen von Polyspace Bug Finder in der Benutzeroberfläche der Polyspace-Plattform
Polyspace® Bug Finder™ identifiziert Laufzeitfehler, Nebenläufigkeitsprobleme, Sicherheitslücken und andere Defekte in C und C++ Embedded Software. Mithilfe statischer Analysen, einschließlich semantischer Analysen, analysiert Bug Finder die Kontrollstrukturen, den Datenfluss und das prozedurübergreifende Verhalten. Durch die sofortige Hervorhebung von Defekten nach ihrer Entdeckung ermöglicht Ihnen Bug Finder, Fehler frühzeitig im Entwicklungsprozess zu klassifizieren und zu beheben.
Sie können Bug Finder für vollständige C/C++ Projekte über die Benutzeroberfläche der Polyspace-Plattform oder mithilfe von Skripten ausführen. Weitere Informationen finden Sie hier:
Ausführen von Polyspace in der Benutzeroberfläche der Polyspace-Plattform
Wenn Sie Polyspace zum ersten Mal verwenden, beginnen Sie bitte mit der Benutzeroberfläche der Polyspace-Plattform. Sie können Hilfe über Funktionen wie das neue Projektmenü, die unterstützte Konfiguration und das zusammengefasste Analyselogbuch erhalten.
Ausführen von Polyspace über Windows- oder Linux-Befehlszeile
Nachdem Sie ein Projekt in der Benutzeroberfläche der Polyspace-Plattform eingerichtet und einige Testläufe durchgeführt haben, können Sie die Konfiguration in Skripte exportieren, die Sie automatisch oder bei Bedarf ausführen können. Sie können eine Polyspace-Analyse auch direkt über die Befehlszeile Ihres Betriebssystems ausführen. Anschließend können Sie die Befehle in Batch-Dateien (Windows®) oder Shell-Skripten (Linux®) für spätere Ausführungen speichern. Wenn Sie Polyspace Server-Produkte mithilfe von Tools für kontinuierliche Integration wie Jenkins® verwenden, können Sie Ihre Skripts aus den Polyspace-Desktopprodukten wiederverwenden.
Ausführen von Polyspace in MATLAB
Wenn Sie über eine MATLAB®-Installation verfügen, ist es besonders einfach, Skripte für die Ausführung einer Polyspace-Analyse zu schreiben. Sie profitieren von allen Vorteilen der Skripterstellung in der MATLAB-Umgebung, wie beispielsweise automatischer Hilfe zur Funktionssyntax. Nach Durchführung einer Analyse können Sie mithilfe von MATLAB-Grafiken und -Visualisierungstools Ihre eigene Visualisierung der Ergebnisse erstellen.
Beispieldateien
Um die Schritte in dieser Anleitung auszuführen, kopieren Sie die Dateien aus dem Ordner
in einen anderen Ordner. Hier ist polyspaceroot
\polyspace\examples\cxx\Bug_Finder_Example\sources
der Installationsordner Polyspace, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025b
.
Ausführen von Polyspace in der Benutzeroberfläche der Polyspace-Plattform
Öffnen der Benutzeroberfläche der Polyspace-Plattform.
Doppelklicken Sie auf die ausführbare Datei polyspace-desktop-ui
im Ordner
. Hier ist polyspaceroot
\polyspace\bin
der Installationsordner Polyspace, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025b
. Siehe Installation Folder.
Wenn Sie die alte Desktop-Benutzeroberfläche öffnen und die Benutzeroberfläche der Polyspace-Plattform nicht als Standard-Benutzeroberfläche festgelegt haben, klicken Sie auf die Schaltfläche Try the new desktop UI und aktivieren Sie optional das Kontrollkästchen, um die Benutzeroberfläche der Polyspace-Plattform als neue Standard-Benutzeroberfläche festzulegen.
Wenn Sie eine Verknüpfung zu Polyspace auf Ihrem Desktop oder im Start-Menü in Windows eingerichtet haben, doppelklicken Sie auf die Verknüpfung.
Hinzufügen von Quelldateien
Um eine Analyse durchzuführen, müssen Sie ein neues Polyspace-Projekt erstellen. Ein Polyspace-Projekt verweist auf Ordner in Ihrem Dateisystem und bindet diese ein.
Klicken Sie links im Fensterbereich Start Page auf New Project. Alternativ können Sie in der Taskleiste New > Project auswählen.
Wählen Sie einen Speicherort für Ihr Projekt und geben Sie einen Projektnamen ein. Fahren Sie fort, indem Sie Ihre Quell- und die zugehörigen Ordner hinzufügen. Wählen Sie Add Source Folder in der Taskleiste aus und navigieren Sie zu Ihrem Quelldateiordner. In diesem Tutorial fügen Sie den Ordner hinzu, in dem Sie die Quell- und einzuschließenden Dateien gespeichert haben.
Ihr neues Projekt befindet sich im Fensterbereich Projects. Ihre Quellordner werden zum Knoten Code im Projekt hinzugefügt. Sie können später weitere Dateien oder Ordner hinzufügen, indem Sie auf das Projekt rechtsklicken oder die Schaltflächen in der Symbolleiste verwenden.
Später können Sie Ihre Projekte gruppieren, indem Sie sie in einem Workspace speichern. In einem Workspace können Sie verwandte Projekte gruppieren und alle Projekte gleichzeitig öffnen. Weitere Informationen zur Verwendung von Workspaces finden Sie unter Manage Related Projects in Polyspace Platform User Interface Using Workspaces.
Konfigurieren und Ausführen von Polyspace
Sie können die Standardoptionen für eine Polyspace-Analyse ändern.
Doppelklicken Sie im Fensterbereich Projects auf den Knoten Configuration. Ändern Sie im Fensterbereich Configuration die Optionen nach Bedarf. Für die Zwecke dieses Tutorials wählen Sie auf der Registerkarte Static Analysis die Option Coding Rules & Code Metrics aus. Wählen Sie die Option Use custom checkers file und klicken Sie auf das Ordnersymbol. Das Fenster für die Auswahl der Checker wird geöffnet. Wählen Sie in der Seitenleiste die Option MISRA C:2023 und über der Liste der Checks die Option All. Klicken Sie auf Save changes, um die Auswahl der Checker für Ihr Projekt zu speichern und das Fenster für die Auswahl der Checker zu schließen.
Weitere Informationen zu den Konfigurationsoptionen erhalten Sie, indem Sie den Mauszeiger auf die jeweilige Option bewegen. Klicken Sie im angezeigten Tooltip auf den Link More help, um kontextsensitive Hilfe zu den Optionen anzuzeigen.
Wählen Sie die Registerkarte Project, um zur Projekt-Symbolleiste zurückzukehren. Um eine Analyse zu starten, klicken Sie in der Symbolleiste auf Find Issues.
Es öffnet sich ein Fensterbereich, in dem Sie den Fortschritt der Analyse verfolgen können. Nachdem Polyspace die Analyse abgeschlossen hat, werden Ihre Ergebnisse im Fensterbereich Results angezeigt. Doppelklicken Sie auf die Ergebnisdatei, um das Ergebnis-Dashboard zu öffnen.
Zusätzliche Informationen
Weitere Informationen zum Ausführen von Polyspace in der Benutzeroberfläche der Polyspace-Plattform finden Sie unter:
Ausführen von Polyspace über Windows- oder Linux-Befehlszeile
Sie können den Bug Finder über die Windows- oder Linux-Befehlszeile mit Batch-Dateien (.bat
) oder Shell-Skripten (.sh
) ausführen.
Um eine Bug Finder-Analyse durchzuführen, verwenden Sie den Befehl polyspace-bug-finder
.
Um sich die Eingabe des vollständigen Pfads zum Befehl zu ersparen, fügen Sie den Pfad
zu der polyspaceroot
\polyspace\binPath
-Umgebungsvariable Ihres Betriebssystems hinzu. Hier ist
der Installationsordner Polyspace, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025b
.
Navigieren Sie zu dem Ordner, in dem Sie die Dateien gespeichert haben. Geben Sie folgenden Befehl ein:
polyspace-bug-finder -sources numerical.c,dataflow.c -I . -results-dir .
.
den aktuellen Ordner. Die verwendeten Optionen sind:
-sources
– Geben Sie die Quelldateien durch Kommas getrennt an.-I
– Geben Sie den Pfad zum einzuschließenden Ordner an. Verwenden Sie die Option-I
jedes Mal, wenn Sie einen anderen einzuschließenden Ordner hinzufügen möchten.-results-dir
– Geben Sie den Pfad zu dem Ordner an, in dem die Polyspace Bug Finder-Ergebnisse gespeichert werden sollen.Beachten Sie, dass der Ergebnisordner bei jeder Ausführung einer Analyse bereinigt und neu gefüllt wird. Um ein versehentliches Löschen von Dateien während der Bereinigung zu vermeiden, sollten Sie keinen bestehenden Ordner verwenden, der andere Dateien enthält, sondern einen eigenen Ordner für die Polyspace Bug Finder-Ergebnisse festlegen.
Nach Abschluss der Analyse speichert Bug Finder die Ergebnisse in der Datei ps_results.psbf
. Sie können diese Datei über die Benutzeroberfläche der Polyspace-Plattform mithilfe des folgenden Befehls öffnen:
polyspace ps_results.psbf
Anstatt die durch Kommas getrennten Quellen direkt in der Befehlszeile anzugeben, können Sie die Quellen in einer Textdatei auflisten (eine Datei pro Zeile). Verwenden Sie die Option -sources-list-file
, um diese Textdatei anzugeben.
Zusätzliche Informationen
Weitere Informationen zum Ausführen von Polyspace über die Windows- oder Linux-Befehlszeile finden Sie unter:
Ausführen von Polyspace in MATLAB
Bevor Sie Polyspace von MATLAB ausführen, müssen Sie Ihre Polyspace- und MATLAB-Installationen miteinander verbinden. Siehe Integrate Polyspace with MATLAB and Simulink.
Um eine Analyse durchzuführen, verwenden Sie ein polyspace.Project
-Objekt. Das Objekt verfügt über zwei Eigenschaften:
Configuration
– Legen Sie mithilfe dieser Eigenschaft Analyseoptionen wie Quellen, Includes, Compiler und Ergebnisordner fest.Results
– Nachdem Polyspace eine Analyse abgeschlossen hat, lesen Sie die Analyseergebnisse mithilfe dieser Eigenschaft in eine MATLAB-Tabelle ein.
Um die Analyse auszuführen, verwenden Sie die Methode run
dieses Objekts.
Um Polyspace auf der Beispieldatei numerical.c
in
auszuführen, geben Sie Folgendes in die MATLAB-Befehlszeile ein.polyspaceroot
\polyspace\examples\cxx\Bug_Finder_Examples\sources
proj = polyspace.Project % Configure analysis proj.Configuration.Sources = {fullfile(polyspaceroot, 'polyspace', ... 'examples', 'cxx', 'Bug_Finder_Example', 'sources', 'numerical.c')}; proj.Configuration.TargetCompiler.Compiler = 'gnu4.9'; proj.Configuration.EnvironmentSettings.IncludeFolders = {fullfile(polyspaceroot, ... 'polyspace', 'examples', 'cxx', 'Bug_Finder_Example', 'sources')} proj.Configuration.ResultsDir = fullfile(pwd,'results'); % Run analysis bfStatus = proj.run('bugFinder'); % Read results resObj = proj.Results; bfSummary = getSummary(resObj, 'defects'); bfResults = getResults(resObj, 'readable');
Nach Abschluss der Analyse speichert Bug Finder die Ergebnisse in der Datei ps_results.psbf
. Sie können diese Datei über die Benutzeroberfläche der Polyspace-Plattform mithilfe der folgenden Befehle öffnen:
resultsFile = fullfile(proj.Configuration.ResultsDir,'ps_results.psbf');
polyspaceBugFinder(resultsFile)
Zusätzliche Informationen
Weitere Informationen zum Ausführen von Polyspace in MATLAB finden Sie unter: