software
|
CODING GUIDELINE
66
EMBEDDED
56 • maggio • 2015
C
e C++ sono, con qualche differenza, i due
linguaggi più largamente utilizzati nello svilup-
po di software embedded. Recenti ricerche da
parte di
VDCmostrano come C sia utilizzato dal
70% delle aziende di sistemi embedded valutate,
e C++ dal 42%. C è stato implementato virtual-
mente per qualsiasi processore, offre una vasta
gamma di risorse e librerie ed è supportato da
un’ampia gamma di strumenti.
Il linguaggio C in particolare consente però agli
sviluppatori di programmare in maniera sostan-
zialmente sbagliata o inesatta. È fin troppo fa-
cile scrivere del codice conforme al linguaggio
standard che poi produrrà sia errori di program-
ma (es. un crash) sia un comportamento non de-
finito o non previsto. Gli esempi più comuni sono
il codice che produce accessi alla memoria al di
fuori dei limiti di un array o una operazione ma-
tematica che risulti in integer overflow.
La filosofia degli standard di codifica
La modalità industry-accepted per affrontare
questo genere di rischi è di adottare uno stan-
dard di codifica. Nella loro più semplice forma,
gli standard di codifica definiscono un set di pra-
tiche di codifica coerenti. Sebbene l’uniformità
di stile possa essere una risorsa preziosa in un
progetto software, essa non risolve in merito alle
importanti caratteristiche di qualità del softwa-
re quali affidabilità, portabilità e manutenibi-
lità. La regola fondamentale degli standard di
codifica è definire un sottoinsieme più sicuro di
linguaggio di programmazione inquadrando un
insieme di regole che elimini i costrutti di codifi-
ca riconosciuti come pericolosi.
Le linee guida per la codifica MISRA, che incar-
nano questo principio di safe sub-setting, sono
ora accettate su scala mondiale come benchmark
per sviluppare software safety-critical in C e
Controllo
deroghe in
un ambiente
di conformità
MISRA
Fergus Bolger
Cto
Programming Research LtdGli standard di codifica MISRA
C sono sinonimo di uso sicuro e
difensivo di C in molti ambienti
embedded e oltre: nel corso
dell’articolo saranno analizzate
le categorie di deviazione
ed esaminate le modalità di
legittimazione delle ragioni
specifiche di deroga ora in via di
realizzazione per l’uso industriale.
Il supporto di strumenti sofisticati
e automatizzati per iniziative
di deroga controllata insieme
a report e altri elementi di una
soluzione di conformità sono già
disponibili