EMB_83

EMBEDDED 83 • FEBBRAIO • 2022 57 Qualificare la libreria standard del linguaggio C per l’utilizzo inapplicazioni di sicurezzacritiche Le soluzioni software svolgono un ruolo sempre più importante nei sistemi di sicurezza, dove eventuali disfunzioni del software comportano attualmente sia rischi di responsabilità giuridica, sia minacce concrete in termini di lesioni, decessi, interruzione di servizi essenziali o danni ambientali Marcel Beemster CTO Solid Sands O rganizzazioni come ISO e Commissione Elet- trotecnica Internazionale ( IEC ) hanno pubblicato stan- dard adottati su larga scala per certificare la sicurezza dei software. Alcuni esempi sono ISO 26262 ( Veicoli stradali - Sicurezza funzionale ) per l’industria automo- bilistica, EN 50128 ( Sistemi di comunicazione, segnala- zione ed elaborazione. Software per sistemi di controllo e protezione ferroviari ) per i trasporti ferroviari, e IEC 61508 ( Sicurezza funzionale dei sistemi di sicurezza elet- trici/elettronici/elettronici programmabili ) per le appli- cazioni industriali. Gli sviluppatori di applicazioni devono dimostrare che il software, così come i metodi, i processi e l’insieme di programmi (toolchain) utilizzati per svilupparlo, sia- no conformi agli standard vigenti. Tuttavia, gran parte della toolchain esula dal controllo dello sviluppatore e richiede quindi una convalida del compilatore. Pochi compilatori sono privi di difetti (bug); pertanto, sapen- do che cosa non funziona, si possono evitare errori. Gran parte del codice sorgente, che finisce tipicamen- te in un codice binario compilato, non passa mai at- traverso il compilatore con una combinazione sempre identica di casi d’uso, opzioni di compilazione e am- biente hardware di destinazione. Parte di questo codi- ce comprende funzioni di libreria precompilate, come ad esempio quelle nella Libreria Standard del C (libc) spesso fornite in formato binario all’interno di un kit di sviluppo software (SDK). L’inclusione di macro rende in molti casi i componenti della libreria sensibili al tipo di utilizzo. Anche in una libreria prequalificata dal fornitore del SDK utiliz- zando lo stesso compilatore fornito con il SDK, non è detto che siano stati rispettati lo stesso caso di utilizzo, le stesse opzioni del compilatore e gli stessi requisiti dell’ambiente hardware di destinazione, rendendo così difficile dimostrare la conformità. Per risolvere questo problema, la SuperGuard C Li- brary Safety Qualification Suite offre piena tracciabi- lità per risalire dai risultati di singoli test ai requisiti derivati dalla specifica del linguaggio C a norma ISO. SOFTWARE LIBRARIES | SOFTWARE

RkJQdWJsaXNoZXIy Mzg4NjYz