Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Guida all'avvio rapido dei prodotti di Polyspace Server e Access

Per evitare di individuare bug in una fase avanzata del processo di sviluppo, eseguire un'analisi statica utilizzando i prodotti di Polyspace®.

  • Polyspace Bug Finder™ controlla il codice C/C++ per individuare eventuali bug, violazioni degli standard di codifica, vulnerabilità di sicurezza e altri problemi.

  • Polyspace Code Prover™ esegue controlli esaustivi per divisione per zero, overflow, accesso agli array fuori dai limiti e altri tipi comuni di errori di runtime.

Vedere anche Differenze tra Polyspace Bug Finder e Polyspace Code Prover.

Se si eseguono regolarmente i checker di Polyspace nell'ambito dell'integrazione continua, è possibile proteggersi da regressioni dovute a check-in del nuovo codice. Per eseguire Polyspace su un server durante l'integrazione continua, utilizzare Polyspace Bug Finder Server e Polyspace Code Prover Server. Per ospitare i risultati di analisi Polyspace, utilizzare Polyspace Access.

Un tipico workflow è rappresentato in questa figura.

Installazione

Prerequisiti

In base alle esigenze del progetto, del team o dell'organizzazione, è stato deciso di ottenere un certo numero di licenze dei prodotti di Polyspace Server e Polyspace Access. Questa guida aiuta a installare le istanze individuali di questi prodotti su una macchina.

Installazione di Polyspace Server

Per installare i prodotti di Polyspace Server, scaricare ed eseguire il programma di installazione di MathWorks. Inserire una licenza per i prodotti di Polyspace Server (oppure richiedere una licenza di prova). Vedere anche Request a Trial License (Richiedere una licenza di prova). I prodotti di Polyspace Server sono installati in una cartella separata dagli altri prodotti di MathWorks®. Vedere anche Install Polyspace Server and Access Products.

Installazione di Polyspace Access

Prima di installare Polyspace Access, considerare il numero di utenti che potrebbero visualizzare simultaneamente i risultati di Polyspace. I requisiti di sistema dipendono dal numero di revisori simultanei. Vedere anche System Requirements for Polyspace Access (Polyspace Access).

Polyspace Access è costituito da diversi servizi: un gestore utenti per autenticare gli accessi degli utenti, un sistema di tracciamento dei problemi per integrare lo strumento di tracking dei bug con Polyspace, un database per gestire i risultati, un server web per visualizzare i risultati e un gateway per gestire le comunicazioni. I servizi sono distribuiti in container Docker. È possibile avviare i servizi da un'interfaccia comune denominata Cluster Admin.

Per installare Polyspace Access:

Dopo l'installazione, per visualizzare i risultati caricati, l'utente e gli altri revisori possono accedere a:

https://<hostName>:<portNumber>/metrics/index.html
In questo caso, hostName e portNumber sono rispettivamente il nome host della macchina server su cui è installato Polyspace Access e la porta utilizzata da Polyspace Access per comunicare con le macchine client. Ad esempio, example-server.com:9443. Nel caso in cui il nome hoste e il numero di porta non siano noti, contattare l'amministratore di Polyspace Access.

Installazione di Network License Manager

Sia Polyspace Server che Polyspace Access utilizzano licenze che richiedono la comunicazione con un Network License Manager per l'acquisizione delle licenze.

Impostazione dell'analisi Polyspace

Prerequisiti

L'utente o il reparto IT dell'organizzazione deve installare il numero richiesto di istanze di Polyspace Server e Polyspace Access. Questa guida consente di impostare un'analisi Polyspace come parte dell'integrazione continua utilizzando una singola istanza di Polyspace Server e Polyspace Access.

Per controllare che le installazioni di Polyspace Server e Polyspace Access possano comunicare tra loro, vedere Check Polyspace Installation.

Esecuzione di Polyspace Server e caricamento dei risultati su Polyspace Access

È possibile eseguire i prodotti di Polyspace Server dalla riga di comando del sistema operativo:

È possibile eseguire tutti i file eseguibili Polyspace dalla sottocartella polyspace/bin della cartella di installazione di Polyspace (ad esempio, /usr/local/Polyspace Server/R2025a, vedere anche Installation Folder). Per avviare l'esecuzione di Polyspace Server utilizzando i file sorgente C di esempio e gli script di esempio, vedere:

È inoltre possibile preconfigurare le opzioni di analisi Polyspace dal comando di build (makefile), quindi aggiungere un secondo file di opzioni con specifiche di analisi quali i checker. Vedere Create Polyspace Analysis Configuration from Build Command (Makefile).

Se si dispone di un'installazione dei prodotti desktop di Polyspace, è possibile preparare la configurazione dell'analisi nell'interfaccia utente dei prodotti desktop. È quindi possibile generare file di opzioni Polyspace da eseguire durante l'integrazione continua. Vedere Configure Polyspace Analysis Options in User Interface and Generate Scripts.

Inclusione delle esecuzioni di Polyspace nell'integrazione continua utilizzando strumenti quali Jenkins

Una volta che si dispone di script funzionanti per eseguire un'analisi Polyspace, è possibile eseguirli a intervalli predefiniti utilizzando strumenti di integrazione continua come Jenkins e Bamboo. In Jenkins, è possibile utilizzare un plugin Polyspace per puntare alle installazioni di Polyspace e inviare notifiche via e-mail agli sviluppatori dopo l'analisi, in base a criteri quali nuovi difetti.

Dall'interfaccia Jenkins, cercare e installare il plugin Polyspace. Per iniziare rapidamente a utilizzare il plugin Jenkins e gli script di esempio, vedere Polyspace plugin GitHub repository (repository GitHub del plugin Polyspace). Per il workflow completo con Jenkins, vedere Sample Scripts for Polyspace Analysis with Jenkins.

Creazione di un workflow per i revisori dei risultati

A seconda degli strumenti già in uso, è possibile impostare un workflow pratico per i revisori dei risultati. Ad esempio:

Ricevimento da parte dei revisori di avvisi sui nuovi risultati e accesso a Polyspace Access

Ricevimento da parte dei revisori di avvisi personalizzati via e-mail con risultati in allegato

  • Prima dell’upload su Polyspace Access, utilizzando il comando polyspace-access -set-unassigned-findings (Polyspace Access), lo strumento di integrazione continua (CI) assegna i proprietari ai nuovi risultati di analisi in base alla proprietà dei file o dei componenti o ad altri criteri.

  • Dopo il caricamento, utilizzando il comando polyspace-access -export (Polyspace Access), lo strumento CI esporta i risultati di analisi per ciascun proprietario in un file di testo separato. Lo strumento invia quindi il file di testo al proprietario in allegato a un'e-mail. Il file di testo contiene i risultati con i relativi URL nell'interfaccia di Polyspace Access.

    Se si utilizza Jenkins come strumento CI, il plugin Polyspace in Jenkins supporta direttamente questo workflow. Vedere Sample Scripts for Polyspace Analysis with Jenkins.

  • Una volta ricevuta l'e-mail, il proprietario apre il file di testo allegato, copia l'URL di ciascun risultato nel browser web e revisiona il risultato.

Apertura di ticket da parte dei revisori dagli strumenti di tracking di bug