C in C ++ sta po nekaterih virih najbolj razširjena programska jezika za razvoj programske opreme za ugnezdene sisteme. Nedavna raziskava, ki jo izvedlo podjetje VDC kaže na to, da je med anketiranimi podjetji, ki se ukvarjajo z razvojem ugnezdenih sistemov kar pri 70% takšnih, ki uporabljajo za razvoj programske opreme programski jezik C in 42% C++.

Jezik C pa po drugi strani omogoča razvijalcu narediti tudi veliko takšnih stvari, ki so v bistvu napačne. Skoraj bi lahko rekli, da je že preveč enostavno napisati kodo, ki je skladna z jezikovnim standardom, vendar se bo njeno izvajanje odražalo ali v odpovedi izvajanja (t.i. “crash”) ali v nedefiniranem vedenju. Najpogostejši so primeri takšne programske kode, ki dostopa do pomnilnika izven njegovih fizičnih meja ali uporaba aritmetičnih operacij, ki se končajo z napako “integer overflow”.
Filozofija standardov programiranja

MISRA smernice za pisanje programske kode, ki vključujejo tudi to načelo varnih pod-nastavitev, so zdaj po vsem svetu sprejete kot merilo uspešnosti pri razvoju varnostno kritične programske opreme s programskim jezikom C in C ++. Omenjene smernice so bile široko sprejete zato, ker so jedrnate, čitljive in ker se osredotočajo na bistvena vprašanja. V nedavni anketi (Ganssle, 2014) med 500 anketiranci se je pokazalo nekaj zanimivih podatkov o osvojitvi neke določene stopnje standarda kodiranja. Glavna ugotovitev te ankete je, da približno 60% vseh standardov za pisanje programske kode, ki se trenutno uporabljajo, temelji na MISRA. Doslednost sprejetja in upoštevanja teh smernic je še ena zanimiva ugotovitev, saj so z upoštevanjem pravil, ki temeljijo na MISRA smernicah, v razvojnih ekipah dosegli 75% dosledno uporabo, medtem ko so z drugimi pravili, ki temeljijo na drugih osnovah, dosegli manj kot 50% sprejetje pravil med uporabniki.
Nadzorovanje odstopanj v okoljih, ki so skladni z MISRA
Programming Research Ltd.
2015_SE233_14

