67
CODING GUIDELINE |
software
EMBEDDED
56 • maggio • 2015
C++. Sono stati largamente accettati perché, ol-
tre a essere concisi e leggibili, sono focalizzati
su questioni essenziali. Un recente sondaggio
(Ganssle, 2014) condotto coinvolgendo 500 in-
tervistati rivela alcuni interessanti dati sulla
frequenza di adozione degli standard di codifi-
ca. Il principale risultato suggeriva che circa il
60% di tutti gli standard di codifica in uso sono
MISRA-based. Altro dato interessante è il rigore
di applicazione, con i set di regole di codifica MI-
SRA-based attestati al 75% di utilizzo coerente
all’interno del team di sviluppo, risultato lusin-
ghiero tenendo presente che altri set di regole
non raggiungono il 50%.
Il principio di deviazione
Gli standard di codifica MISRA
contengono linee guida larga-
mente rispettate dagli sviluppa-
tori in C e C++. Queste guideline
sono focalizzate su problematiche
che sono importati quando si svi-
luppano sistemi software critici.
MISRA riconosce anche che, in
talune situazioni, è irragionevole
o persino impossibile soddisfare
una linea guida di codifica e che
è necessario derogare da certe re-
gole. Una deroga stabilisce la ra-
gione del non adeguamento a una
specifica regola di codifica in certe circostanze.
Fornisce anche motivazioni e descrizione dell’e-
stensione verso la quale una particolare regola
è stata “allentata”, e fornisce un safety case ben
costruito che comprende mitigazione contro gli
effetti del mancato rispetto.
Tuttavia, in assenza di un preciso, e accurata-
mente descritto, ambito di non conformità, una
funzione basica di deroga potrebbe essere frain-
tesa o abusata e in ultimo minare l’efficacia del-
le linee guida.
Vincolare l’uso di deroghe
Nello stesso modo in cui gli stessi standard di
codifica necessitano di creazione
oggettiva e motivazioni ben com-
prese, le motivazioni date per la
deroga dalle regole di codifica allo
stesso modo necessitano di una
espressione comune, l’interpre-
tazione concordata e un ambito
preciso per la loro applicazione.
L’industria automobilistica, cioè
l’ambito di applicazione iniziale e
che resta finora quello principale,
di MISRA, ha dovuto affrontare
questi requisiti. Sia lo stesso MI-
SRA sia un organismo nazionale,
la Japanese Automotive Manu-
facturers Association (JAMA),
Fig. 1 –Applicazione di uno strumento di deroga controllata
La regola
fondamentale
degli standard di
codifica è definire
un sottoinsieme
più sicuro di
linguaggio di
programmazione




