Hauptinhalt

Kurzleitfaden für Polyspace Server- und Access-Produkte

Um zu vermeiden, dass Fehler erst spät im Entwicklungsprozess entdeckt werden, führen Sie eine statische Analyse mithilfe von Polyspace®-Produkten durch.

  • Polyspace Bug Finder™ überprüft C/C++ Code auf Fehler, Verstöße gegen Codierungsstandards, Sicherheitslücken und andere Probleme.

  • Polyspace Code Prover™ führt umfassende Prüfungen auf Division durch Null, Überlauf, Array-Zugriff außerhalb der Grenzen und andere häufige Arten von Laufzeitfehlern durch.

Siehe auch Unterschiede zwischen Polyspace Bug Finder und Polyspace Code Prover.

Wenn Sie regelmäßig Polyspace Checker als Teil der kontinuierlichen Integration ausführen, können Sie Regressionen durch neue Code-Check-ins vorbeugen. Um Polyspace während der kontinuierlichen Integration auf einem Server auszuführen, verwenden Sie Polyspace Bug Finder Server und Polyspace Code Prover Server. Um die Ergebnisse der Polyspace-Analyse zu hosten, verwenden Sie Polyspace Access.

Ein typischer Workflow ist in dieser Abbildung dargestellt.

Installation

Voraussetzungen

Je nach den Anforderungen Ihres Projekts, Ihres Teams oder Ihrer Organisation haben Sie sich für den Erwerb einer bestimmten Anzahl von Lizenzen für Polyspace Server- und Polyspace Access-Produkte entschieden. Dieser Leitfaden unterstützt Sie bei der Installation einzelner Instanzen dieser Produkte auf einem Computer.

Installieren von Polyspace Server

Um Polyspace Server-Produkte zu installieren, laden Sie bitte den MathWorks Installer herunter und führen Sie ihn aus. Geben Sie eine Lizenz für die Polyspace Server-Produkte ein (oder fordern Sie eine Testlizenz an). Siehe auch Testlizenz anfordern. Die Polyspace Server-Produkte werden in einem separaten Ordner von anderen MathWorks®-Produkten installiert. Siehe auch Install Polyspace Server and Access Products.

Installieren von Polyspace Access

Bevor Sie Polyspace Access installieren, sollten Sie die Anzahl der Benutzer berücksichtigen, die möglicherweise gleichzeitig Polyspace-Ergebnisse überprüfen werden. Die Systemanforderungen hängen von der Anzahl der gleichzeitigen Prüfenden ab. Siehe auch System Requirements for Polyspace Access (Polyspace Access).

Polyspace Access umfasst mehrere Dienste: einen Benutzermanager zur Authentifizierung von Benutzeranmeldungen, einen Issue Tracker zur Integration Ihres Bug-Tracking-Tools in Polyspace, eine Datenbank zur Verwaltung der Ergebnisse, einen Webserver zur Anzeige der Ergebnisse und ein Gateway zur Verarbeitung der Kommunikation. Die Dienste werden in Docker-Containern bereitgestellt. Sie können die Dienste über eine gemeinsame Schnittstelle namens „Cluster Admin“ starten.

So installieren Sie Polyspace Access:

Nach der Installation können Sie und andere Prüfende sich unter folgender Adresse anmelden, um die hochgeladenen Ergebnisse anzuzeigen:

https://<hostName>:<portNumber>/metrics/index.html
Dabei stehen hostName und portNumber für den Hostnamen des Servers, auf dem Sie Polyspace Access installieren, sowie für den Port, den Polyspace Access für die Kommunikation mit den Client-Computern verwendet. Beispiel: example-server.com:9443. Wenn Sie den Hostnamen und die Portnummer nicht kennen, wenden Sie sich bitte an Ihren Polyspace Access-Administrator.

Installieren des Network License Manager

Sowohl Polyspace Server als auch Polyspace Access verwenden Lizenzen, für deren Ausgabe eine Kommunikation mit einem Network License Manager erforderlich ist.

Einrichten der Polyspace-Analyse

Voraussetzungen

Sie oder Ihre IT-Abteilung in Ihrer Organisation müssen die erforderliche Anzahl von Polyspace Server- und Polyspace Access-Instanzen installieren. Dieser Leitfaden unterstützt Sie bei der Einrichtung einer Polyspace-Analyse als Teil der kontinuierlichen Integration unter Verwendung einer einzelnen Instanz von Polyspace Server und Polyspace Access.

Um zu überprüfen, ob Ihre Polyspace Server- und Polyspace Access-Installationen miteinander kommunizieren können, beachten Sie bitte Check Polyspace Installation.

Ausführen von Polyspace Server und Hochladen der Ergebnisse zu Polyspace Access

Sie können die Polyspace Server-Produkte über die Befehlszeile Ihres Betriebssystems ausführen:

Sie können alle ausführbaren Polyspace-Dateien aus dem Unterordner polyspace/bin des Polyspace-Installationsordners ausführen (z. B. /usr/local/Polyspace Server/R2025b, siehe auch Installation Folder). Um Polyspace Server mithilfe von Beispiel-C-Quelldateien und Beispielskripten auszuführen, gehen Sie wie folgt vor:

Sie können die Polyspace-Analyseoptionen auch über Ihren Build-Befehl (makefile) vorkonfigurieren und anschließend eine zweite Optionsdatei mit Analysespezifikationen wie Checker anhängen. Siehe Create Polyspace Analysis Configuration from Build Command (Makefile).

Wenn Sie die Polyspace-Desktop-Produkte installiert haben, können Sie die Analyse-Konfiguration in der Benutzeroberfläche der Desktop-Produkte vorbereiten. Anschließend können Sie Polyspace-Optionsdateien erstellen, die während der kontinuierlichen Integration ausgeführt werden sollen. Siehe Configure Polyspace Analysis Options in User Interface and Generate Scripts.

Integration von Polyspace-Durchläufen in die kontinuierliche Integration mithilfe von Sie Tools wie Jenkins

Sobald Sie über funktionsfähige Skripte zur Durchführung einer Polyspace-Analyse verfügen, können Sie diese Skripte in vordefinierten Intervallen mithilfe von Tools zur kontinuierlichen Integration wie Jenkins und Bamboo ausführen. In Jenkins können Sie ein Polyspace-Plugin verwenden, um auf Ihre Polyspace-Installationen zu verweisen und nach der Analyse E-Mail-Benachrichtigungen an Entwickler zu senden, basierend auf Kriterien wie neuen Fehlern.

Suchen Sie in der Jenkins-Benutzeroberfläche nach dem Polyspace-Plugin und installieren Sie es. Eine kurze Einführung in die Verwendung des Jenkins-Plugins und der Beispielskripte finden Sie im GitHub-Repository des Polyspace-Plugins. Den vollständigen Workflow mit Jenkins finden Sie unter Sample Scripts for Polyspace Analysis with Jenkins.

Erstellen eines Workflow für Ergebnisprüfende

Je nach den bereits verwendeten Tools können Sie einen praktischen Workflow für die Prüfende der Ergebnisse einrichten. Beispiel:

Prüfende werden über neue Ergebnisse benachrichtigt und melden sich bei Polyspace Access an

Prüfende erhalten personalisierte E-Mail-Benachrichtigungen mit den Ergebnissen im Anhang

  • Vor dem Hochladen in Polyspace Access weist das Tool für die kontinuierliche Integration (CI) mithilfe des Befehls polyspace-access -set-unassigned-findings (Polyspace Access) den neuen Analyseergebnissen anhand der Datei- oder Komponentenbesitzrechte oder anderer Kriterien Verantwortliche zu.

  • Nach dem Hochladen exportiert das CI-Tool mithilfe des Befehls polyspace-access -export (Polyspace Access) die Analyseergebnisse für jeden Verantwortlichen in eine separate Textdatei. Das Tool sendet die Textdatei anschließend als E-Mail-Anhang an den Verantwortlichen. Die Textdatei enthält Ergebnisse mit den entsprechenden URLs in der Polyspace Access-Benutzeroberfläche.

    Wenn Sie Jenkins als CI-Tool verwenden, unterstützt das Polyspace-Plugin in Jenkins diesen Workflow direkt. Siehe Sample Scripts for Polyspace Analysis with Jenkins.

  • Nach Erhalt der E-Mail öffnet der Verantwortliche die angehängte Textdatei, kopiert die URL jedes Ergebnisses in seinen Webbrowser und überprüft das Ergebnis.

Öffnen von Tickets durch Prüfende mittels Bug-Tracking-Tools

  • Prüfende, beispielsweise ein Qualitätsingenieur, überprüfen alle neuen Ergebnisse und erstellt JIRA-Tickets für die Entwickler. Siehe Create Bug Tracking Tool Tickets from the Polyspace Access Web Interface (Polyspace Access).

  • Entwickler öffnen jedes JIRA-Ticket und navigieren zum entsprechenden Polyspace-Ergebnis in der Polyspace Access-Benutzeroberfläche.