Ausführen von Polyspace Bug Finder auf Servern und Hochladen der Ergebnisse in die Webschnittstelle
Polyspace® Bug Finder™ Server™ überprüft C/C++ Code auf Fehler und Verstöße gegen Codierungsstandards und lädt die Ergebnisse zur Überprüfung des Codes in eine Webschnittstelle hoch.
Sie können den Bug Finder als Teil der kontinuierlichen Integration ausführen. Richten Sie Skripte ein, die in regelmäßigen Abständen oder bei der Übermittlung neuer Codes eine Bug Finder-Analyse durchführen. Die Skripte können die Analyseergebnisse zur Überprüfung in die Polyspace Access-Webschnittstelle hochladen und optional E-Mails mit den Polyspace-Ergebnissen an die Verantwortlichen der Quelldateien senden. Die Verantwortlichen können die Webschnittstelle öffnen, um nur die neuen Ergebnisse ihrer Übermittlung zu überprüfen und anschließend die Probleme zu beheben oder zu begründen.
In einem typischen Projekt oder Team wird Polyspace Bug Finder Server regelmäßig auf einigen Testservern ausgeführt und lädt die Ergebnisse zur Überprüfung hoch. Jeder Entwickler und Qualitätsingenieur im Team verfügt über eine Polyspace Access™-Lizenz, um die Ergebnisse zur Untersuchung und Fehlerbehebung in der Webschnittstelle einzusehen.
Voraussetzungen
Um eine Bug Finder-Analyse auf einem Server durchzuführen und die Ergebnisse in der Polyspace Access-Webschnittstelle zu überprüfen, führen Sie diese einmalige Einrichtung durch:
Um die Analyse auszuführen, installieren Sie zunächst eine Instanz von Polyspace Bug Finder Server.
Um Ergebnisse hochzuladen, richten Sie die erforderlichen Komponenten für das Hosting der Webschnittstelle von Polyspace Access ein.
Um die hochgeladenen Ergebnisse anzuzeigen, benötigen Sie und jeder Entwickler, der die Ergebnisse überprüft, eine Polyspace Access-Lizenz.
Überprüfen der Polyspace-Installation
So überprüfen Sie, ob Polyspace Bug Finder Server installiert ist:
Öffnen Sie ein Befehlsfenster. Navigieren Sie zu
. Dabei istpolyspaceserverroot
\polyspace\bin
der Polyspace Bug Finder Server-Installationsordner, beispielsweisepolyspaceserverroot
C:\Program Files\Polyspace Server\R2025a
. Siehe auch Installation Folder.Geben Sie Folgendes ein:
polyspace-bug-finder-server -help
Sie sollten die Liste der Optionen sehen, die für eine Bug Finder-Analyse zulässig sind.
So prüfen Sie, ob die Polyspace Access-Webschnittstelle für den Upload eingerichtet ist:
Navigieren Sie erneut zu
.polyspaceserverroot
\polyspace\binGeben Sie Folgendes ein:
polyspace-access -host hostName -port portNumber -create-project testProject
Dabei ist
der Name des Servers, auf dem der Polyspace Access-Webserver gehostet wird. Für einen lokal gehosteten Server verwenden SiehostName
localhost
.
ist die optionale Portnummer des Servers. Wenn Sie die Portnummer weglassen, wirdportNumber
9443
verwendet.Wenn die Einrichtung abgeschlossen ist, wird in der Polyspace Access-Webschnittstelle ein Projekt mit dem Namen
testProject
erstellt.Sie werden bei jeder Verwendung des Befehls
polyspace-access
zur Eingabe Ihres Benutzernamens und Passworts aufgefordert. Um zu vermeiden, dass Sie sich jedes Mal neu anmelden müssen, geben Sie den Benutzernamen und eine verschlüsselte Version Ihres Passworts zusammen mit dem Befehl an. Um ein verschlüsseltes Passwort zu erstellen, geben Sie Folgendes ein:polyspace-access -encrypt-password
Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein. Kopieren Sie das verschlüsselte Passwort und geben Sie dieses verschlüsselte Passwort mit der Option
-encrypted-password
ein, wenn Sie den Befehlpolyspace-access
verwenden.Öffnen Sie in einem Webbrowser die folgende URL:
Dabei sindhttps://hostName:portNumber/metrics/index.html
undhostName
der Hostname und die Portnummer aus dem vorherigen Schritt.portNumber
Im Fensterbereich Project Explorer der Polyspace Access-Webschnittstelle sehen Sie das neu erstellte Projekt testProject
.
Ausführen von Bug Finder für die Beispieldateien
Um den Bug Finder auszuführen, öffnen Sie in Ihrem Betriebssystem ein Befehlsfenster.
Um eine Bug Finder-Analyse durchzuführen, verwenden Sie den Befehl
polyspace-bug-finder-server
.Um die Ergebnisse in die Polyspace Access-Webschnittstelle hochzuladen, verwenden Sie den Befehl
polyspace-access -upload
(Polyspace Access).
Um die Eingabe des vollständigen Pfads zum Befehl zu vermeiden, fügen Sie den Pfad
zur polyspaceserverroot
\polyspace\binPath
-Umgebungsvariable Ihres Betriebssystems hinzu.
Testen Sie die Befehle anhand der Beispieldateien, die mit Ihrer Polyspace-Installation bereitgestellt wurden.
Kopieren Sie die Beispielquelldateien aus
in einen anderen Ordner, für den Sie Schreibrechte besitzen. Navigieren Sie in der Befehlszeile zu diesem Ordner.polyspaceserverroot
\polyspace\examples\cxx\Bug_Finder_Example\sourcesGeben Sie Folgendes ein:
polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir . polyspace-access -host hostName -port portNumber -login username -encrypted-password pwd -create-project testProject polyspace-access -host hostName -port portNumber -login username -encrypted-password pwd -upload . -project myFirstProject -parent-project testProject
Dabei ist
Ihr Anmeldename undusername
das zuvor erstellte verschlüsselte Passwort. Siehe Überprüfen der Polyspace-Installation.pwd
Aktualisieren Sie die Polyspace Access-Webschnittstelle. Sie sehen einen Ordner testProject
im Fensterbereich Project Explorer. Der Ordner enthält ein Projekt mit dem Namen myFirstProject
.
Um die Ergebnisse im Projekt anzuzeigen, klicken Sie auf Review. Weitere Informationen finden Sie unter Überprüfen der Polyspace Bug Finder-Ergebnisse im Webbrowser. Sie können die Dokumentation auch über die Schaltfläche oben rechts in der Polyspace Access-Oberfläche aufrufen.
Die mit dem Befehl polyspace-bug-finder-server
verwendeten Analyseoptionen 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.Find defects (-checkers)
: Geben Sie die zu überprüfenden Fehler (Bugs) an.-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.
Eine vollständige Liste der für eine Bug Finder-Analyse verfügbaren Optionen finden Sie unter Vollständige Liste der Optionen der Polyspace Bug Finder-Analyse-Engine. Um die Bug Finder-Dokumentation in Ihrem Webbrowser zu öffnen, geben Sie Folgendes ein:
polyspace-bug-finder-server -doc
Beispielskripte für die Bug Finder-Analyse auf Servern
Um die Analyse auszuführen, können Sie anstelle der Eingabe der Befehle in der Befehlszeile Skripte verwenden. Die Skripte können jedes Mal ausgeführt werden, wenn Sie Quelldateien hinzufügen oder ändern.
Nachstehend finden Sie eine Beispiel-Windows®-Batchdatei. Dabei wird der Pfad der Polyspace-Installation im Skript angegeben. Um dieses Skript zu verwenden, ersetzen Sie polyspaceserverroot
durch den Pfad Ihrer Installation. Sie müssen bereits das verschlüsselte Passwort für die Verwendung in den Skripten generiert haben. Siehe Überprüfen der Polyspace-Installation.
echo off set POLYSPACE_PATH=polyspaceserverroot\polyspace\bin set LOGIN=-host hostName -port portNumber -login username -encrypted-password pwd "%POLYSPACE_PATH%\polyspace-bug-finder-server" -sources numerical.c,dataflow.c -I .^ -checkers numerical,data_flow -results-dir . "%POLYSPACE_PATH%\polyspace-access" %LOGIN% -create-project testProject "%POLYSPACE_PATH%\polyspace-access" %LOGIN% -upload . -project myFirstProject -parent-project testProject pause |
Nachfolgend finden Sie ein Beispiel für ein Linux®-Shell-Skript.
POLYSPACE_PATH=polyspaceserverroot/polyspace/bin LOGIN=-host hostName -port portNumber -login username -encrypted-password pwd ${POLYSPACE_PATH}/polyspace-bug-finder-server -sources numerical.c,dataflow.c -I .\ -checkers numberical,data_flow -results-dir . ${POLYSPACE_PATH}/polyspace-access $LOGIN -create-project testProject ${POLYSPACE_PATH}/polyspace-access $LOGIN -upload . -project myFirstProject -parent-project testProject |
Angeben von Quellen und Optionen in separaten Dateien anstelle von Startskripten
Anstatt die Quelldateien und Analyseoptionen in den Startskripten aufzulisten, können Sie diese in separaten Textdateien auflisten.
Geben Sie die Textdatei mit der Liste der Quellen mithilfe der Option
-sources-list-file
an.Geben Sie die Textdatei mit den Analyseoptionen mithilfe der Option
-options-file
an.
Durch das Entfernen der Quelldateien und der Analyseoptionsspezifikationen aus den Startskripten können Sie diese Spezifikationen bei neuen Codeübermittlungen nach Bedarf ändern, ohne das Startskript zu verändern.
Betrachten Sie das Skript im vorherigen Beispiel. Sie können den Befehl polyspace-bug-finder-server
so ändern, dass Textdateien mit Quellen und Optionen verwendet werden. Anstelle von:
polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir . |
verwenden Sie:
polyspace-bug-finder-server -sources-list-file sources.txt -options-file polyspace_opts.txt -results-dir . |
Hier:
listet
sources.txt
die Quelldateien in separaten Zeilen auf:numerical.c dataflow.c
listet
polyspace_opts.txt
die Analyseoptionen in separaten Zeilen auf:-I . -checkers numerical,data_flow
In der Regel werden Ihre Quelldateien in einem Build-Befehl (Makefile) angegeben. Anstatt die Quelldateien direkt anzugeben, können Sie den Build-Befehl verfolgen, um eine Liste mit Quellspezifikationen zu erstellen. Siehe polyspace-configure
.
Kompletter Workflow
In einem typischen Workflow für die kontinuierliche Integration führen Sie ein Skript aus, das die folgenden Schritte ausführt:
Extrahieren Sie Polyspace-Optionen aus Ihrem Build-Befehl.
Wenn Sie beispielsweise Makefiles zum Erstellen Ihres Quellcodes verwenden, können Sie Analyseoptionen aus dem Makefile extrahieren. Der folgende Befehl führt zunächst
make
aus und ermittelt anschließend die Analyseoptionen aus den ausgeführten Prozessen.polyspace-configure -output-options-file compile_opts make
Siehe auch:
Führen Sie die Analyse mit der zuvor erstellten Optionsdatei aus. Fügen Sie eine zweite Optionsdatei an, die die restlichen für die Analyse erforderlichen Optionen enthält.
polyspace-bug-finder-server -options-file compile_opts -options-file run_opts
Laden Sie die Ergebnisse zu Polyspace Access hoch.
polyspace-access login -upload resultsFolder -project projName -parent-project parentProjName
Dabei ist
die Kombination der Optionen, die für die Kommunikation mit dem Webserver erforderlich sind, auf dem Polyspace Access gehostet wird:login
-host hostName -port portNumber -login username -encrypted-password pwd
ist der Ordner, der die Polyspace-Ergebnisse enthält.resultsFolder
undprojName
sind die Namen des Projekts und des übergeordneten Ordners, wie sie in der Polyspace Access-Webschnittstelle angezeigt werden.parentProjName
Optional können Sie Entwicklern E-Mail-Benachrichtigungen mit neuen Ergebnissen zu ihren eingereichten Codes senden. Die E-Mail enthält Anhänge mit Links zu den Ergebnissen in der Polyspace Access-Webschnittstelle.
Siehe Versenden von E-Mail-Benachrichtigungen mit Polyspace Bug Finder Server-Ergebnissen.
Beispiele für Skripte, die diese Schritte ausführen, finden Sie unter Sample Scripts for Polyspace Analysis with Jenkins.
Siehe auch
polyspace-access-create-project
(Polyspace Access) | polyspace-access-upload
(Polyspace Access) | polyspace-bug-finder-server
Themen
- Manage Polyspace Access Results and Users at the Command Line (Polyspace Access)
- Versenden von E-Mail-Benachrichtigungen mit Polyspace Bug Finder Server-Ergebnissen
- Senden der Bug Finder-Analyse vom Desktop an einen lokal gehosteten Server
- Vollständige Liste der Optionen der Polyspace Bug Finder-Analyse-Engine