Prodotti di Polyspace e workflow di sviluppo software
Il gruppo di prodotti di Polyspace® offre una soluzione unificata per gestire, misurare e monitorare la qualità del codice C/C++ durante l'intero ciclo di vita dello sviluppo software.
I prodotti di analisi statica, Polyspace Bug Finder™ e Polyspace Code Prover™, controllano il codice C/C++ per individuare eventuali errori di runtime, violazioni degli standard di codifica, vulnerabilità di sicurezza e altri problemi:
Polyspace Code Prover può coprire tutti i possibili percorsi di esecuzione di un programma e tracciare il flusso di dati lungo tali percorsi seguendo determinate regole matematiche. L'analisi esaustiva dei flussi di controllo e di dati può integrare test dinamici ed evidenziare potenziali errori di runtime che potrebbero altrimenti non essere individuati durante i normali test di robustezza.
Polyspace Bug Finder può analizzare un programma alla ricerca di difetti più evidenti, vulnerabilità di sicurezza, violazioni degli standard di codifica e altri problemi che potrebbero causare errori di runtime o risultati imprevisti.
Il prodotto per il test dinamico, Polyspace Test™, fornisce strumenti per lo sviluppo, la gestione e l'esecuzione di test unitari e di integrazione per codice C e C++ in sistemi embedded. Utilizzando Polyspace Test, è possibile creare test tramite un'API basata su xUnit per C/C++ o in un'interfaccia utente grafica, eseguire i test su computer host o target embedded, automatizzare l'esecuzione dei test e collegare i test ai requisiti per la tracciabilità. È inoltre possibile misurare la completezza dei test calcolando le metriche di coverage del codice e generare automaticamente test per integrare la creazione manuale dei test.
Utilizzo dei prodotti di Polyspace nello sviluppo software
La suite di prodotti di Polyspace supporta tutte le fasi di un processo di sviluppo software:
Prima dell'invio del codice:
Gli sviluppatori possono utilizzare i prodotti di Polyspace desktop o dedicati all'IDE per controllare il codice durante lo sviluppo o immediatamente prima dell'invio, al fine di soddisfare gli obiettivi di qualità predefiniti.
I prodotti possono essere integrati negli IDE, quali Visual Studio Code, Visual Studio® o Eclipse™, oppure eseguiti tramite script durante la compilazione. I risultati di analisi possono essere revisionati negli IDE o nell'interfaccia utente grafica dei prodotti desktop.
Polyspace fornisce i seguenti prodotti per l'utilizzo sul desktop. Questi prodotti sono pensati per essere eseguiti su progetti completi o su moduli di codice più piccoli (fino a un singolo file sorgente).
Polyspace Bug Finder per controllare il codice per individuare la presenza di errori semantici che un compiler non può rilevare (come l'utilizzo di
=
anziché di==
), problemi di concorrenza, vulnerabilità di sicurezza e altri difetti nel codice sorgente C e C++.Polyspace Code Prover per eseguire un controllo molto più approfondito e dimostrare l'assenza di overflow, divisioni per zero, accessi fuori dai limiti degli array e altri errori di runtime nel codice sorgente C e C++.
Polyspace Test per creare ed eseguire test C/C++ sul computer host o su un target embedded.
Dopo l'invio del codice:
I prodotti server di Polyspace possono essere eseguiti automaticamente sul codice di cui è appena stato eseguito il commit come fase di build in un processo di integrazione continua (utilizzando strumenti come Jenkins®). L'analisi viene eseguita su un server e i risultati vengono caricati su un'interfaccia web per la revisione collaborativa.
Polyspace fornisce questi prodotti per l'utilizzo su server:
Polyspace Bug Finder Server™ per eseguire automaticamente Bug Finder su un server e caricare i risultati su un'interfaccia web per la revisione e Polyspace Access™ per revisionare i risultati caricati.
Polyspace Code Prover Server per eseguire automaticamente Code Prover su un server e caricare i risultati su un'interfaccia web per la revisione e Polyspace Access per revisionare i risultati caricati.
Polyspace Test per eseguire automaticamente i test su un server e caricare i risultati su un'interfaccia web per la revisione e Polyspace Access per revisionare i risultati di test caricati.
In genere, i prodotti server vengono eseguiti su alcuni server di build e controllano il di cui è appena stato eseguito il commit come parte della costruzione e dei test del software. Ogni revisore (sviluppatore, ingegnere addetto al controllo qualità o responsabile dello sviluppo) dispone di una licenza Polyspace Access per revisionare i risultati di analisi caricati.
Inoltre, se gli sviluppatori hanno accesso a Polyspace Access per la revisione web dei risultati post-invio, possono anche installare Polyspace as You Code nei loro IDE per l'analisi pre-invio. Quando è installato come estensione IDE,
Questo diagramma mostra una possibile distribuzione dei prodotti di Polyspace:
Quando si utilizzano sia i prodotti desktop che quelli server, il workflow pre-invio può passare agevolmente al workflow post-invio.
Coordinamento dell'utilizzo pre-invio e post-invio di Polyspace
Quando si eseguono più prodotti di Polyspace in fasi separate del workflow di sviluppo software, le esecuzioni successive possono beneficiare dell'utilizzo precedente e viceversa. In particolare:
Gli sviluppatori che utilizzano
Polyspace as You Code nei loro IDE, possono correggere facilmente difetti e violazioni degli standard di codifica che possono essere individuati e risolti all'interno di un unico file. Un'analisi Polyspace Bug Finder Server successiva all'invio del codice non mostra più questi problemi.I risultati di un'analisi Polyspace Bug Finder Server possono fungere da baseline per le esecuzioni di
Polyspace as You Code . Gli sviluppatori che utilizzano l'ultimo risultato Polyspace Bug Finder Server come baseline per le esecuzioni IDE possono concentrarsi solo sui problemi derivanti dalle modifiche al codice.
Prodotti di Polyspace per il codice Ada
Polyspace fornisce questi prodotti per la verifica del codice Ada:
Polyspace Client™ per Ada per controllare il codice Ada al fine di individuare eventuali errori di runtime su desktop.
Polyspace Server per Ada per controllare il codice Ada al fine di individuare eventuali errori di runtime su server.
È possibile utilizzare il prodotto desktop per eseguire l'analisi sul desktop oppure una combinazione dei prodotti desktop e server per eseguire l'analisi su un server. I risultati di analisi vengono scaricati sul desktop per la revisione.
Se si dispone di una licenza Polyspace Code Prover Access ed è impostata l'interfaccia web di Polyspace Code Prover Access, è possibile caricare sull'interfaccia web ogni risultato individuale Ada dai prodotti desktop di Ada per la revisione collaborativa.
Vedere anche https://www.mathworks.com/products/polyspace-ada.html.