Contenuto principale

Esecuzione di Polyspace Bug Finder nell'interfaccia utente di Polyspace Platform

Polyspace® Bug Finder™ identifica errori di runtime, problemi di concorrenza, vulnerabilità di sicurezza e altri difetti nel software embedded C e C++. Utilizzando l'analisi statica, inclusa l'analisi semantica, Bug Finder analizza il flusso di controllo, il flusso di dati e il comportamento interprocedurale. Evidenziando i difetti non appena vengono rilevati, Bug Finder consente di classificare e correggere i bug nelle fasi iniziali del processo di sviluppo.

È possibile eseguire Bug Finder su progetti C/C++ completi dall'interfaccia utente di Polyspace Platform o utilizzando script. Per maggiori informazioni, vedere:

  • Esecuzione di Polyspace nell'interfaccia utente di Polyspace Platform

    Se è la prima volta che si utilizza Polyspace, iniziare utilizzando l'interfaccia utente di Polyspace Platform. È possibile ottenere una guida da feature quali il nuovo menu del progetto, la configurazione assistita e il log di analisi riepilogativo.

  • Esecuzione di Polyspace dalla riga di comando Windows o Linux

    Una volta impostato un progetto nell'interfaccia utente di Polyspace Platform e completate alcune esecuzioni di prova, è possibile esportare la configurazione in script da eseguire automaticamente o su richiesta. È inoltre possibile eseguire un'analisi Polyspace direttamente dalla riga di comando del sistema operativo. È quindi possibile salvare i comandi in file batch (Windows®) o script shell (Linux®) per esecuzioni successive. Se si eseguono i prodotti di Polyspace Server utilizzando strumenti di integrazione continua quali Jenkins®, è possibile riutilizzare gli script dei prodotti desktop di Polyspace.

  • Esecuzione di Polyspace in MATLAB

    Se si dispone di un'installazione di MATLAB®, risulta particolarmente semplice scrivere script per eseguire un'analisi Polyspace. Si ottengono tutti i vantaggi dello scripting nell'ambiente MATLAB, come la guida automatica sulla sintassi delle funzioni. Dopo aver eseguito un'analisi, è possibile creare una visualizzazione personalizzata dei risultati utilizzando strumenti di visualizzazione e di grafica di MATLAB.

File di esempio

Per seguire i passaggi descritti in questo tutorial, copiare i file da polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\sources in un'altra cartella. In questo caso, polyspaceroot è la cartella di installazione di Polyspace, ad esempio C:\Program Files\Polyspace\R2025b.

Esecuzione di Polyspace nell'interfaccia utente di Polyspace Platform

Aprire l'interfaccia utente di Polyspace Platform

Fare doppio clic sul file eseguibile polyspace-desktop-ui in polyspaceroot\polyspace\bin. In questo caso, polyspaceroot è la cartella di installazione di Polyspace, ad esempio C:\Program Files\Polyspace\R2025b. Vedere Installation Folder.

Se si apre la vecchia interfaccia utente desktop e non è stata impostata l'interfaccia utente di Polyspace Platform come interfaccia utente predefinita, fare clic sul pulsante Try the new desktop UI e, opzionalmente, selezionare la casella di spunta per impostare l'interfaccia utente di Polyspace Platform come nuova interfaccia utente predefinita.

Se è stata impostata una scorciatoia a Polyspace sul desktop o nel menu Start in Windows, fare doppio clic sulla scorciatoia.

Aggiunta di file sorgente

Per eseguire un'analisi, è necessario creare un nuovo progetto Polyspace. Un progetto Polyspace punta alla sorgente e alle cartelle include nel file system.

A sinistra del riquadro Start Page, fare clic su New Project. In alternativa, selezionare New > Project nella barra delle applicazioni.

Selezionare una posizione in cui salvare il progetto e inserire il nome del progetto. Continuare aggiungendo la sorgente e le cartelle include. Selezionare Add Source Folder dalla barra delle applicazioni e spostarsi nella cartella dei file sorgente. In questo tutorial, aggiungere la cartella in cui sono stati salvati i file sorgente e include.

Il nuovo progetto si trova nel riquadro Projects. Le cartelle sorgente vengono aggiunte al nodo Code nel progetto. È possibile aggiungere altri file o cartelle in seguito facendo clic con il tasto destro del mouse sul progetto o utilizzando i pulsanti nella barra degli strumenti.

Successivamente, è possibile raggruppare i progetti salvandoli in un workspace. Un workspace consente di raggruppare progetti correlati e di aprire tutti i progetti contemporaneamente. Per maggiori informazioni su come utilizzare i workspace, vedere Manage Related Projects in Polyspace Platform User Interface Using Workspaces.

Configurazione ed esecuzione di Polyspace

È possibile modificare le opzioni predefinite associate a un'analisi Polyspace.

Fare doppio clic sul nodo Configuration nel riquadro Projects. Nel riquadro Configuration, modificare le opzioni secondo necessità. Per questo tutorial, nella scheda Static Analysis, selezionare Coding Rules & Code Metrics. Selezionare l'opzione Use custom checkers file e fare clic sull'icona della cartella. Si apre la finestra Checkers Selection (Selezione dei checker). Selezionare MISRA C:2023 nella barra laterale e All sopra l'elenco dei controlli. Fare clic su Save changes per salvare il file di selezione dei controllori per il progetto e chiudere la finestra Checkers Selection (Selezione dei checker).

Checkers selection window with the All check box selected for MISRA C:2023 rules

Per maggiori informazioni sulle opzioni di configurazione, posizionare il puntatore su ciascuna opzione. Nella tooltip che appare, fare clic sul link More help per accedere alla guida sensibile al contesto sulle opzioni.

Option tooltip for the Use custom checkers file option

Selezionare la scheda Project per tornare alla barra degli strumenti del progetto. Per avviare un'analisi, fare clic su Find Issues nella barra degli strumenti.

Si apre un riquadro in cui è possibile seguire l'avanzamento dell'analisi. Dopo che Polyspace ha completato l'analisi, i risultati vengono visualizzati nel riquadro Results. Fare doppio clic sul file dei risultati per aprire la dashboard dei risultati.

Ulteriori informazioni

Per ulteriori informazioni sull'esecuzione di Polyspace nell'interfaccia utente di Polyspace Platform, vedere:

Esecuzione di Polyspace dalla riga di comando Windows o Linux

È possibile eseguire Bug Finder dalla riga di comando Windows o Linux utilizzando file batch (.bat) o script shell (.sh).

Per eseguire un'analisi Bug Finder, utilizzare il comando polyspace-bug-finder.

Per evitare di digitare il percorso completo del comando, aggiungere il percorso polyspaceroot\polyspace\bin alla variabile di ambiente Path del sistema operativo. In questo caso, polyspaceroot è la cartella di installazione di Polyspace, ad esempio C:\Program Files\Polyspace\R2025b.

Accedere alla cartella in cui sono stati salvati i file. Inserire questo comando:

polyspace-bug-finder -sources numerical.c,dataflow.c -I . -results-dir .
In questo caso, . indica la cartella attuale. Le opzioni utilizzate sono:

  • -sources: specificare i file sorgente separati da virgole.

  • -I: specificare il percorso della cartella include. Utilizzare l'opzione -I ogni volta che si desidera aggiungere una cartella include diversa.

  • -results-dir: specificare il percorso della cartella in cui Polyspace Bug Finder salva i risultati.

    Si noti che la cartella dei risultati viene pulita e ripopolata ogni volta che si esegue un'analisi. Per evitare la rimozione accidentale di file durante la pulizia, invece di utilizzare una cartella esistente che contiene altri file, specificare una cartella dedicata per i risultati di PolyspaceBug Finder.

Al termine dell'analisi, Bug Finder salva i risultati nel file ps_results.psbf. È possibile aprire questo file dall'interfaccia utente di Polyspace Platform utilizzando questo comando:

polyspace ps_results.psbf

Anziché specificare le sorgenti separate da virgole direttamente nella riga di comando, è possibile elencarle in un file di testo (un file per riga). Utilizzare l'opzione -sources-list-file per specificare questo file di testo.

Ulteriori informazioni

Per maggiori informazioni sull'esecuzione di Polyspace dalla riga di comando Windows o Linux, vedere:

Esecuzione di Polyspace in MATLAB

Prima di eseguire Polyspace da MATLAB, è necessario collegare le installazioni di Polyspace e di MATLAB. Vedere Integrate Polyspace with MATLAB and Simulink.

Per eseguire un'analisi, utilizzare un oggetto polyspace.Project. L'oggetto presenta due proprietà:

  • Configuration: specificare le opzioni di analisi quali sorgenti, include, compiler e cartella dei risultati utilizzando questa proprietà.

  • Results: dopo che Polyspace ha completato un'analisi, leggere i risultati di analisi in un tabella di MATLAB utilizzando questa proprietà.

Per eseguire l'analisi, utilizzare il metodo run di questo oggetto.

Per eseguire Polyspace sul file di esempio numerical.c in polyspaceroot\polyspace\examples\cxx\Bug_Finder_Examples\sources, inserire quanto segue al prompt dei comandi di MATLAB.

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');

Al termine dell'analisi, Bug Finder salva i risultati nel file ps_results.psbf. È possibile aprire questo file dall'interfaccia utente di Polyspace Platform utilizzando i seguenti comandi:

resultsFile = fullfile(proj.Configuration.ResultsDir,'ps_results.psbf');
polyspaceBugFinder(resultsFile)

Ulteriori informazioni

Per maggiori informazioni sull'esecuzione di Polyspace in MATLAB, vedere:

Vedi anche

Argomenti