Polyspace per la Verifica del Codice C/C++
Dettagli dei corsi
Questo corso pratico della durata di due giorni illustra l’utilizzo di Polyspace Code Prover™ per verificare la correttezza del codice, migliorare le metriche sulla qualità del software e assicurare l’integrità del prodotto. Questo corso è pensato per gli ingegneri che sviluppano software o modelli mirati a sistemi embedded. Il terzo giorno è opzionale ed è disponibile solo per le sessioni di formazione on-site.
Elenco degli argomenti:
- 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
Panoramica sul workflow Polyspace
Obiettivo: Acquisire familiarità con Polyspace Bug Finder e Polyspace Code Prover e analizzare un esempio introduttivo.
- Workflow per lo sviluppo di software con Polyspace
- Semplice esempio di verifica
- Analisi dei difetti e degli errori di run-time
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.
- Artefatti diffusi dell'ambiente di run-time
- Gestione del codice specifico per il processore
- Definizione del contesto di esecuzione
- Impostazione delle informazioni dell’hardware target
- Analisi e gestione dei difetti di Polyspace Bug Finder
- Individuazione delle violazioni delle regole di codifica
- Misurazione delle metriche del codice
Analisi dei risultati in Polyspace Code Prover
Obiettivo: Acquisire padronanza nell'interpretazione dei risultati ottenuti con Polyspace Code Prover.
- Panoramica sull’interpretazione astratta
- Analisi del Call Tree
- Navigazione del codice sorgente
- Percorsi di esecuzione
- Range delle variabili
- Variabili globali
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
- Localizzazione dei controlli nel codice sorgente
- Descrizione dei controlli
- Opzioni disponibili per la verifica
Giorno 2
Gestione delle verifiche e dei risultati in Polyspace Code Prover
Obiettivo: Gestire i risultati di verifica che contengono grandi quantità di controlli non verificati.
- Definizione del costo di una verifica
- Esecuzione di una revisione veloce
- Esecuzione di una revisione selettiva dei controlli in arancione
- Impostazione della precisione della verifica
- Priorità ai controlli in arancione
- Revisione dei controlli in arancione
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 di funzioni
- Specificazione del range dei dati
- Esecuzione manuale dello stubbing
Analisi dell’integrazione
Obiettivo: Scoprire come gestire le verifiche con codice di complessità crescente e come interpretare e confrontare l'analisi integrata con l'analisi di robustezza.
- Gestione dei moduli del codice
- Analisi dei difetti delle integrazioni e delle violazioni delle regole con Polyspace Bug Finder e Polyspace Code Prover
- Importazione dei commenti
Analisi delle applicazioni
Obiettivo: Ripassare le procedure e le opzioni utili nella verifica delle applicazioni complete.
- Configurazione della verifica di un’applicazione
- Miglioramento dei risultati della verifica di un’applicazione
- Rilevamento dei problemi di simultaneità
- Confronto tra verifica di robustezza e contestuale
- Creazione della documentazione
Giorno 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
Livello: Intermedio
Prerequisiti:
- Conoscenza avanzata di C o C++
Durata: 2 giorni
Lingue: English, 日本語, 한국어, 中文