La sicurezza funzionale (functional safety) è una delle problematiche più importanti per i sistemi embedded impiegati in ambito automotive, avionico, medicale e industriale. Gli strumenti software utilizzati durante il ciclo di vita di tali sistemi hanno un impatto diretto sulla loro qualità, sicurezza e affidabilità. Pertanto gli standard di sicurezza richiedono la qualificazione degli strumenti software utilizzati per il loro sviluppo.
Per lo sviluppo di un sistema con requisiti critici per la sicurezza possono essere utilizzati molti strumenti diversi che devono garantire elevati livelli di qualità e affidabilità, così che l’utente di uno strumento di sviluppo si possa fidare del fatto che funzioni correttamente per tutte le attività richieste da uno standard di sicurezza. La confidenza nello strumento si ottiene sottoponendolo a un processo di qualificazione che deve avvenire nell’ambiente operativo dell’utente stesso. Nel caso di un sistema embedded l’utente dovrà utilizzare la propria scheda hardware e la propria toolchain di compilazione.
Questo è stato fatto da Lauterbach realizzando il proprio TQSK per la linea di prodotti TRACE32. Inoltre, anche se non richiesto dalle normative, Lauterbach si è sottoposta a una valutazione da parte dell’ente TÜV Nord per garantire la confidenza nella sua prequalifica e nel conseguente Tool Qualification Support-Kit.
Il kit TQSK, fornito da Lauterbach, offre tutto il necessario per qualificare gli strumenti TRACE32 per l’uso in progetti DO-178C (avionico), IEC 61508 (industriale), IEC 62304 (medico) e ISO 26262 (automotive). Consiste in una test suite per diversi casi d’uso, una descrizione completa dell’ambiente TRACE32 e una descrizione completa del processo di qualificazione. Con il TQSK Lauterbach dà agli sviluppatori la certezza di sapere che la famiglia di prodotti TRACE32 ha dimostrato in modo ripetibile di saper produrre risultati consistenti e affidabili, e può essere validata rispetto a importanti standard riconosciuti a livello internazionale.
Lauterbach PowerTrace-III 8GB per Arm® Cortex®-A/-R/-M, Neoverse and Armv9, RISC-V®, Power Architecture®, TriCore(tm), RH850, etc.
Molti sistemi embedded devono essere sviluppati secondo uno standard di sicurezza. Per dimostrare che un sistema soddisfa questi standard è necessario identificare una qualche forma di copertura del codice. Lo standard di sicurezza raccomanderà o imporrà vari livelli di copertura del codice che devono essere garantiti per soddisfare determinati livelli all’interno dello standard.
L’analisi della copertura del codice in TRACE32 si basa sul tracciamento delle singole istruzioni eseguite nel flusso di programma (trace-based code coverage). Lauterbach offre misure di copertura del codice basate sul tracciamento in tempo reale del flusso di programma che non richiedono l’instrumentazione del codice da testare, pertanto gli sviluppatori possono testare il codice così come apparirebbe nei dispositivi in campo.
Le soluzioni di debug e tracciamento fornite da Lauterbach permettono di ottenere il massimo vantaggio sia nell’ambito dei test di integrazione che nei test di sistema. TRACE32 supporta tutte le metriche standard, fornisce una valutazione intuitiva e semplici procedure di generazione dei report.
Per i test di unità sono disponibili le seguenti metriche:
Statement coverage
Decision coverage
MC/DC
Per i test di integrazione e di sistema sono supportate le seguenti metriche:
Function coverage
Call coverage