Polyspace per la Verifica del Codice C/C++
Guarda il programma e iscrivitiDettagli dei corsi
- Creazione di un progetto di verifica
- Visualizzazione e comprensione dei risultati di verifica
- Emulazione degli ambienti di esecuzione target
- Gestione di funzioni e dati mancanti
- Gestione di codice non testato (contrassegnato dal colore arancione nei prodotti Polyspace®)
- Applicazione delle regole MISRA-C®
- Documentazione dei risultati dell’analisi
Giorno 1/3
Panoramica sul workflow Polyspace
Obiettivo: Acquisire familiarità con Polyspace Bug Finder e Polyspace Code Prover e analizzare un esempio introduttivo.
- Workflow di verifica del codice
- Esecuzione di un'analisi Bug Finder
- Esecuzione di una verifica di Code Prover
- Analisi e risoluzione di problemi software
Analisi con Polyspace Bug Finder
Obiettivo: Analizzare il codice che potrebbe non essere conforme allo standard ANSI C, valutare l'ambiente di run-time e correggere difetti e violazioni delle regole di codifica utilizzando Polyspace Bug Finder.
- Creazione di un progetto Polyspace
- Artefatti diffusi dell'ambiente di run-time
- Gestione del codice specifico per il processore
- Impostazione delle informazioni dell’hardware target
- Analisi dei difetti in Polyspace Bug Finder
- Analisi delle violazioni della regola MISRA C
- Misurazione delle metriche del codice
- Progetti di modello
Analisi dei risultati in Polyspace Code Prover
Obiettivo: Acquisire padronanza nell'interpretazione dei risultati ottenuti con Polyspace Code Prover.
- Panoramica sull’interpretazione astratta
- Analisi delle chiamate ricorsive
- Navigazione nel codice sorgente
- Interpretazione dei risultati Polyspace Code Prover
- Visualizzazione dell'uso delle variabili globali nel codice sorgente
Controlli per la verifica del codice
Obiettivo: Trovare errori di run-time utilizzando gli strumenti di diagnostica disponibili in Polyspace Code Prover.
- Panoramica sui controlli del codice sorgente C
- Controlli degli errori di run-time di Polyspace Code Prover
- Opzioni disponibili per la verifica
Giorno 2/3
Gestione delle verifiche e dei risultati in Polyspace Code Prover
Obiettivo: Gestire i risultati di verifica che contengono grandi quantità di controlli non verificati.
- Workflow di verifica di Code Prover
- Controllo della sequenza di esecuzione del programma
- Prioritizzazione ai controlli degli errori di run-time arancioni
Aumento della precisione nelle verifiche con Polyspace Code Prover
Obiettivo: Scoprire come Polyspace Code Prover tratta il codice mancante durante la verifica e come influenzare questo comportamento per generare verifiche più significative.
- Verifica di robustezza e verifica contestuale
- Stubbing automatico
- Specificazione del range dei dati
- Esecuzione manuale dello stubbing
Analisi dell’integrazione con Polyspace Access
Obiettivo: Scopri come gestire i risultati della verifica con complessità crescente del codice utilizzando Polyspace Access™ e come interpretare e confrontare l'analisi integrata con l’analisi di robustezza.
- Workflow successivi all'invio con Polyspace Access
- Verifica contestuale
- Rilevamento dei difetti di integrazione e degli errori di run-time
Analisi delle applicazioni
Obiettivo: Ripassare le procedure e le opzioni utili nella verifica delle applicazioni complete.
- Problemi del software applicativo
- Analisi dei problemi di accesso simultanei ai dati
- Sostituzione di funzioni di assemblaggio o hardware
- Gestione del codice di terze parti in Polyspace
- Creazione della documentazione
Giorno 3/3
Laboratorio pratico (opzionale)
Obiettivo: Dedicare del tempo al ripasso di ciò che si è imparato e all’utilizzo di Polyspace direttamente nel proprio progetto. Elenco dei potenziali argomenti:
- Controlli con Polyspace Bug Finder
- Verifica del codice C++
- Analisi delle attività e dei dati condivisi
- Verifica del codice generato
- Ripasso del processo di sviluppo
- Integrazione del workflow
- Installazione del software client/server
- Configurazione di Polyspace per il codice del progetto
- Interpretazione dei risultati
Appendice F: Analisi dell’integrazione con Polyspace Desktop
Obiettivo: Scoprire come gestire le verifiche con codice di complessità crescente e come interpretare e confrontare l'analisi integrata con l'analisi di robustezza.
- Verifica contestuale
- Creazione di nuovi moduli
- Rilevamento dei difetti di integrazione e degli errori di run-time
Livello: Intermedio
Prerequisiti:
- Conoscenza avanzata di C o C++
Durata: 2 giorni
Lingue: English, 中文, 日本語, 한국어