DomovRevijaPredstavljamoNadzorovanje odstopanj v okoljih, ki so skladni z MISRA

Nadzorovanje odstopanj v okoljih, ki so skladni z MISRA

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++.

Slike niProgramski jezik C se lahko uporabi za praktično vsak izbran procesor, ponuja pa široko paleto virov in knjižnic in je podprt s široko paleto orodij.

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

Slike niV industriji so se tem nevarnostim poskusili izogniti s sprejetjem standardov za pisanje programske kode. V svoji najpreprostejši obliki standardi kodiranja opredeljujejo niz skladnih praks kodiranja. Čeprav je lahko enotnost sloga zelo dragocena v okviru programske opreme nekega projekta, pa ne obravnava pomembnih atributov kakovosti programske opreme, kot so zanesljivost, prenosljivost in možnost vzdrževanja. Veliko bolj je temeljna vloga standardov programiranja določiti varnejše podnize v programskem jeziku z omejevanjem sklopov pravil, ki bodo odpravile možnosti programskih konstruktov, za katere je že znano, da so nevarni.

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.

Celotni članek

Nadzorovanje odstopanj v okoljih, ki so skladni z MISRA

Programming Research Ltd.

www.codingstandard.com

www.ganssle.com

www.programmingresearch.com

2015_SE233_14