Contenuto principale

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

Esecuzione di Polyspace Bug Finder su desktop

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 o utilizzando script. Vedere:

  • Esecuzione di Polyspace nell'interfaccia utente

    Se è la prima volta che si utilizza Polyspace, potrebbe essere utile iniziare dall'interfaccia utente di Polyspace. È possibile ottenere una guida da feature quali una procedura guidata per l'impostazione del progetto, la configurazione assistita e un log di analisi riepilogativo.

  • Esecuzione di Polyspace dalla riga di comando Windows o Linux

    Una volta impostato un progetto nell'interfaccia utente di Polyspace 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. Al termine dell'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\R2025a.

Esecuzione di Polyspace nell'interfaccia utente

Apertura dell'interfaccia utente di Polyspace

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

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 Start a new project. In alternativa, selezionare File > New Project.

Dopo aver fornito un nome per il progetto, nelle schermate successive aggiungere le cartelle sorgente e include (entrambe le cartelle possono coincidere). In questo tutorial, aggiungere il percorso della cartella in cui sono stati salvati i file sorgente e include.

Dopo aver finito di aggiungere le cartelle sorgente e include, viene visualizzato un nuovo progetto nel riquadro Project Browser. Le cartelle sorgente vengono copiate nel primo modulo del progetto. È possibile fare clic con il tasto destro del mouse su un progetto per aggiungere altre cartelle in un secondo momento. Se si aggiungono cartelle in un secondo momento, è necessario copiarle esplicitamente in un modulo.

Configurazione ed esecuzione di Polyspace

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

Fare clic sul nodo Configuration nel modulo del progetto. Nel riquadro Configuration, modificare le opzioni secondo necessità. Ad esempio, nel nodo Coding Rules & Code Metrics, selezionare Check MISRA C:2004.

Per ulteriori informazioni, vedere la tooltip su ciascuna opzione. Fare clic sul link More help per accedere alla guida sensibile al contesto sulle opzioni.

Per avviare un'analisi, fare clic su Run Bug Finder nella barra degli strumenti superiore. Se il pulsante indica Code Prover, fare clic sulla freccia accanto al pulsante per passare a Bug Finder.

Seguire l’avanzamento dell'analisi nella finestra Output Summary. Al termine dell'analisi, i risultati si aprono automaticamente.

Ulteriori informazioni

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\R2025a.

Accedere alla cartella in cui sono stati salvati i file (utilizzando cd). Inserire quanto segue:

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'indicatore -I ogni volta che si desidera aggiungere una cartella include separata.

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

    Si noti che la cartella dei risultati viene pulita e ripopolata ad ogni esecuzione. 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 Polyspace.

Al termine dell'analisi, i risultati vengono salvati nel file ps_results.psbf. È possibile aprire questo file dall’interfaccia utente di Polyspace. Ad esempio, inserire quanto segue:

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

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: Al termine dell'analisi, leggere i risultati di analisi in una 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, i risultati vengono salvati nel file ps_results.psbf. È possibile aprire questo file dall’interfaccia utente di Polyspace. Ad esempio, inserire quanto segue:

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

Ulteriori informazioni

Vedere:

Vedi anche

Argomenti