Ausführen von Polyspace Bug Finder auf dem Desktop
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 Polyspace-Benutzeroberfläche oder mithilfe von Skripten ausführen. Siehe:
Ausführen von Polyspace in der Benutzeroberfläche
Wenn Sie Polyspace zum ersten Mal verwenden, empfehlen wir Ihnen, von der Polyspace-Benutzeroberfläche aus zu beginnen. Sie können auf Funktionen wie einen Projekt-Einrichtungsassistenten, eine unterstützte Konfiguration und ein zusammengefasstes Analyseprotokoll zurückgreifen.
Ausführen von Polyspace über Windows- oder Linux-Befehlszeile
Nachdem Sie ein Projekt in der Polyspace-Benutzeroberfläche 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 der 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. Hierbei ist polyspaceroot
\polyspace\examples\cxx\Bug_Finder_Example\sources
der Polyspace-Installationsordner, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025a
.
Ausführen von Polyspace in der Benutzeroberfläche
Öffnen der Polyspace-Benutzeroberfläche
Doppelklicken Sie auf die ausführbare Datei polyspace
im Ordner
. Hierbei ist polyspaceroot
\polyspace\bin
der Polyspace-Installationsordner, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025a
. Siehe auch Installation Folder.
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 Start a new project. Alternativ können Sie auch File > New Project wählen.
Nachdem Sie einen Projektnamen angegeben haben, fügen Sie auf den folgenden Bildschirmen Ihre Quelle und die zugehörigen Ordner hinzu (beide Ordner können identisch sein). In diesem Tutorial fügen Sie den Pfad zu dem Ordner hinzu, in dem Sie die Quell- und Include-Dateien gespeichert haben.
Nachdem Sie Ihre Quell- und einzuschließenden Ordner hinzugefügt haben, wird im Fensterbereich Project Browser ein neues Projekt angezeigt. Ihre Quellordner werden in das erste Modul des Projekts kopiert. Sie können später weitere Ordner hinzufügen, indem Sie auf ein Projekt rechtsklicken. Wenn Sie später Ordner hinzufügen, müssen Sie diese explizit in ein Modul kopieren.
Konfigurieren und Ausführen von Polyspace
Sie können die Standardoptionen für eine Polyspace-Analyse ändern.
Klicken Sie im Projektmodul auf den Knoten Configuration. Ändern Sie im Fensterbereich Configuration die Optionen nach Bedarf. Wählen Sie beispielsweise am Knoten Coding Rules & Code Metrics die Option Check MISRA C:2004.
Weitere Informationen finden Sie im Tooltip zu den einzelnen Optionen. Klicken Sie auf den Link More help, um kontextsensitive Hilfe zu den Optionen zu erhalten.
Um mit der Analyse zu beginnen, klicken Sie auf Run Bug Finder in der oberen Symbolleiste. Wenn die Schaltfläche Code Prover anzeigt, klicken Sie auf den Pfeil neben der Schaltfläche, um zum Bug Finder zu wechseln.
Den Fortschritt der Analyse können Sie im Fenster Output Summary verfolgen. Nach der Analyse werden die Ergebnisse automatisch geöffnet.
Zusätzliche Informationen
Siehe:
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. Hierbei ist
der Polyspace-Installationsordner, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025a
.
Navigieren Sie zu dem Ordner, in dem Sie die Dateien gespeichert haben (mithilfe von cd
). Geben Sie Folgendes 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-I
jedes Mal, wenn Sie einen separaten 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 jedem Durchlauf 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-Ergebnisse festlegen.
Nach der Analyse werden die Ergebnisse in der Datei ps_results.psbf
gespeichert. Sie können diese Datei über die Polyspace-Benutzeroberfläche öffnen. Geben Sie beispielsweise Folgendes ein:
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
Siehe:
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 eine Analyse abgeschlossen wurde, 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 der Analyse werden die Ergebnisse in der Datei ps_results.psbf
gespeichert. Sie können diese Datei über die Polyspace-Benutzeroberfläche öffnen. Geben Sie beispielsweise Folgendes ein:
resultsFile = fullfile(proj.Configuration.ResultsDir,'ps_results.psbf');
polyspaceBugFinder(resultsFile)
Zusätzliche Informationen
Siehe: