Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

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.

Siehe Install Polyspace Server and Access Products.

Überprüfen der Polyspace-Installation

So überprüfen Sie, ob Polyspace Bug Finder Server installiert ist:

  1. Öffnen Sie ein Befehlsfenster. Navigieren Sie zu polyspaceserverroot\polyspace\bin. Dabei ist polyspaceserverroot der Polyspace Bug Finder Server-Installationsordner, beispielsweise C:\Program Files\Polyspace Server\R2025a. Siehe auch Installation Folder.

  2. 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:

  1. Navigieren Sie erneut zu polyspaceserverroot\polyspace\bin.

  2. Geben Sie Folgendes ein:

    polyspace-access -host hostName -port portNumber -create-project testProject

    Dabei ist hostName der Name des Servers, auf dem der Polyspace Access-Webserver gehostet wird. Für einen lokal gehosteten Server verwenden Sie localhost. portNumber ist die optionale Portnummer des Servers. Wenn Sie die Portnummer weglassen, wird 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 Befehl polyspace-access verwenden.

  3. Öffnen Sie in einem Webbrowser die folgende URL:

    https://hostName:portNumber/metrics/index.html
    Dabei sind hostName und portNumber der Hostname und die Portnummer aus dem vorherigen Schritt.

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.

  1. Um eine Bug Finder-Analyse durchzuführen, verwenden Sie den Befehl polyspace-bug-finder-server.

  2. 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 polyspaceserverroot\polyspace\bin zur Path-Umgebungsvariable Ihres Betriebssystems hinzu.

Testen Sie die Befehle anhand der Beispieldateien, die mit Ihrer Polyspace-Installation bereitgestellt wurden.

  1. Kopieren Sie die Beispielquelldateien aus polyspaceserverroot\polyspace\examples\cxx\Bug_Finder_Example\sources in einen anderen Ordner, für den Sie Schreibrechte besitzen. Navigieren Sie in der Befehlszeile zu diesem Ordner.

  2. Geben 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 username Ihr Anmeldename und pwd das zuvor erstellte verschlüsselte Passwort. Siehe Überprüfen der Polyspace-Installation.

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:

  1. 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:

  2. 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

    Siehe Options Files for Polyspace Analysis.

  3. Laden Sie die Ergebnisse zu Polyspace Access hoch.

    polyspace-access login -upload resultsFolder -project projName -parent-project parentProjName

    Dabei ist login die Kombination der Optionen, die für die Kommunikation mit dem Webserver erforderlich sind, auf dem Polyspace Access gehostet wird:

    -host hostName -port portNumber -login username -encrypted-password pwd

    resultsFolder ist der Ordner, der die Polyspace-Ergebnisse enthält. projName und parentProjName sind die Namen des Projekts und des übergeordneten Ordners, wie sie in der Polyspace Access-Webschnittstelle angezeigt werden.

  4. 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) | (Polyspace Access) |

Themen