MISRA C e il suo ruolo chiave per la conformità agli standard industriali di sicurezza del software

Workshop pubblico gratuito
Pisa, 25 giugno 2019
Polo Tecnologico di Navacchio (PI)
Introduzione
Il software imbarcato (embedded) nei dispositivi gioca un ruolo sempre più importante in ogni settore industriale. In molti di questi settori l'importanza del software investe aspetti di sicurezza non più trascurabili. Il risultato è che sono sempre di più le aziende e i progetti ai quali viene chiesto di conformarsi agli standard industriali di sicurezza del software (CENELEC EN 50128, ECSS-Q-ST-80C, FDA "General Principles of Software Validation", IEC 61508, IEC 62304, ISO 26262, RTCA DO-178C). In questo workshop ci concentreremo su uno degli aspetti chiave di questi standard, che riguarda la possibilità (in alternativa all'uso del linguaggio macchina) di scrivere i programmi in opportuni sottoinsiemi di linguaggi come il "C" o il "C++" in congiunzione alla qualifica dei compilatori utilizzati. In questo workshop, partendo da un'introduzione alle insidie del linguaggio "C", presenteremo MISRA C, il più autorevole sottoinsieme del "C". MISRA C, sebbene nato in ambito automotive, è in largo uso in ogni settore industriale dove il software imbarcato è critico per la sicurezza intesa nel più ampio senso del termine.
Nella prima parte del workshop (90 minuti), si tratterà di:
- Il linguaggio "C"
- Comportamenti non completamente definiti
- Perché il "C" non è completamente definito?
- MISRA C
- Il contesto storico
- Introduzione a MISRA C:2012
- Capire MISRA C
- MISRA C è parte di un processo
- MISRA C: prevenzione degli errori, non rilevamento di alcuni bachi
- Come avere successo nell'adozione di MISRA C
- L'importanza degli strumenti
- L'importanza della formazione
- La qualifica dei tool
- Conclusione, con spazio per domande e risposte
Nella seconda parte del workshop (45 minuti) illustreremo, su esempi concreti, l'uso di ECLAIR: un sofisticato strumento di analisi statica che consente, tra l'altro, la quasi totale automazione della verifica di compliance rispetto agli standard di codifica MISRA. A tutti i partecipanti sarà rilasciata una versione trial (full functional) di ECLAIR istanziata con i moduli MISRA C:2004, MISRA C:2012, MISRA C++:2008, metriche HIS e Bug Finder.
A chi è rivolto
Il workshop è rivolto a tutti coloro che, essendo coinvolti a qualunque titolo nelle fasi di progettazione, realizzazione e validazione di sistemi critici, sono o ritengono di poter essere presto soggetti agli standard industriali di sicurezza del software. Si presuppone una certa familiarità con il linguaggio "C", mentre lo standard di codifica MISRA C sarà introdotto partendo da zero.
Relatore
Roberto Bagnara è CTO e responsabile scientifico di BUGSENG. Ha iniziato a lavorare su sistemi imbarcati nel 1984, prima all'Università di Bologna (dispositivi per applicazioni mediche) e poi al CERN (apparati di supporto alla fisica delle alte energie) dove ha lavorato con Tim Berners-Lee. Roberto è professore ordinario di informatica all'Università di Parma, ed è autore di oltre 40 articoli scientifici su riviste e atti di congressi internazionali, tutti su temi inerenti i linguaggi di programmazione, l'analisi statica e altre tecniche e metodologie di verifica del software. Rappresenta l'Italia nel gruppo ISO che standardizza il linguaggio di programmazione "C" ed è membro del gruppo di lavoro "MISRA C".
Agenda
Orario | Attività |
8:30 - 9:00 | Registrazione, caffè e piccola colazione di benvenuto |
9:00 - 9:15 | Introduzione |
9:15 - 10:45 | MISRA C e il suo ruolo nello sviluppo di software critico |
10:45 - 11:00 | Pausa caffè |
11:00 - 11:45 | Dimostrazione pratica |
11:45 - 12:15 | Discussione e saluti |
Registrazione
La registrazione è obbligatoria per motivi organizzativi. Per registrarsi, basta compilare l'apposito form.
Sede
Il workshop si terrà presso l'Auditorium Incubatore del Polo Tecnologico di Navacchio (PI).
Arrivare in auto
Raggiungere il Polo Tecnologico di Navacchio è molto semplice: Il Polo è adiacente alla stazione di Navacchio sulla linea Firenze-Pisa, a 10 km dall’Aereoporto di Pisa, a 800 metri dall’uscita Navacchio della Superstrada FI-PI-LI.
L'indirizzo è: Via Giuntini 63 – 56023 Navacchio (PI). C'è ampia disponibilità di parcheggio, sia presso il Polo che, poco più avanti, nelle immediate vicinanze della Parrocchia di San Prospero. Due ulteriori possibilità di parcheggio si trovano:
- svoltando a sinistra, dopo la Parrocchia di San Prospero, in Via di Lupo Parra e successivamente a destra prima della fine della strada;
- alle coordinate GPS 43.684423, 10.484450.
Per chi proviene dalla A12 Genova-Rosignano Marittimo
Uscire a Pisa centro, prendere la strada di grande collegamento S.G.C. Firenze-Pisa-Livorno in direzione Firenze. Prendere l’uscita Navacchio direzione centro-Ipercoop, troverete le indicazioni del Polo Tecnologico.
Per chi proviene dalla A1 Milano-Napoli
Uscire a Firenze Signa prendere la strada di grande collegamento S.G.C. Firenze-Pisa-Livorno in direzione Pisa. Prendere l’uscita Navacchio direzione centro-Ipercoop, troverete le indicazioni del Polo Tecnologico.
Per chi proviene dalla A11 Firenze Mare
Proseguire fino a Pisa Nord immettersi sulla A 12 in direzione Livorno, uscire a Pisa centro, prendere la strada di grande collegamento S.G.C. Firenze-Pisa-Livorno in direzione Firenze. Prendere l’uscita Navacchio direzione centro-Ipercoop, troverete le indicazioni del Polo Tecnologico.
Tempi di percorrenza in auto approssimativi:
- Arezzo: 1h40m
- Bologna: 2h
- Firenze: 1h30m
- Grosseto: 1h40m
- La Spezia: 1h
- Livorno: 30m
- Massa: 45m
- Modena: 2h15m
- Parma: 2h15m
- Reggio Emilia: 2h25m
- Siena: 1h40m
Arrivare in treno
Il Polo è facilmente raggiungibile dalla Stazione di Navacchio. Il tempo di percorrenza a piedi della tratta dalla stazione al Polo è di circa 3 minuti.