Formazione MATLAB e Simulink

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, 日本語, 한국어, 中文