Background Image
Table of Contents Table of Contents
Previous Page  66 / 84 Next Page
Information
Show Menu
Previous Page 66 / 84 Next Page
Page Background

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

VDC

mostrano 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 Ltd

Gli 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