MISRA C
MISRA C és un conjunt de directrius de desenvolupament de programari per al llenguatge de programació C desenvolupat pel Consorci MISRA. Els seus objectius són facilitar la seguretat, la fiabiliat, la portabilitat i la fiabilitat del codi en el context dels sistemes encastats, concretament els sistemes programats a la ISO C /C90/ C99.[1]
Tipus | Llenguatge de programació |
---|---|
Versió inicial | 1997 |
Característiques tècniques | |
Sistema operatiu | Multiplataforma |
Equip | |
Creador/s | Consorci MISRA |
Editor | Motor Industry Software Reliability Association ![]() |
Més informació | |
Lloc web | misra.org.uk/misra-c/// |
| |
Història
- Esborrany: 1997 [2]
- Primera edició: 1998 (normes, obligatòria/assessorament)
- Segona edició: 2004 (normes, obligatòria/assessorament)
- Tercera edició: 2012 (directives; regles, Decidible/Indecidible)
- Compliment MISRA: 2016, actualitzat 2020
Per a les dues primeres edicions de MISRA-C (1998 i 2004) totes les directrius es van considerar com a normes. Amb la publicació de MISRA C:2012 es va introduir una nova categoria de directrius: la Directiva el compliment de la qual està més obert a la interpretació, o es refereix a qüestions de procés o procediment.[3]
Tot i que originàriament s'adreçava específicament a la indústria de l'automòbil, MISRA C ha evolucionat com un model àmpliament acceptat per a les millors pràctiques per part de desenvolupadors líders en sectors com l'automoció, l'aeroespacial, les telecomunicacions, els dispositius mèdics, la defensa, el ferrocarril i altres. Per exemple:
- Els estàndards de codificació C++ del projecte Joint Strike Fighter [4] es basen en MISRA-C:1998.
- Els estàndards de codificació C del Jet Propulsion Laboratory de la NASA [5] es basen en MISRA-C:2004.
- La norma ISO 26262 Seguretat funcional - Vehicles de carretera cita MISRA C com un subconjunt adequat del llenguatge C:
- L'especificació general de programari AUTOSAR (SRS_BSW_00007) també cita MISRA C:
- L'especificació general de programari AUTOSAR 4.2 [8] requereix que si la implementació del mòdul BSW està escrita en llenguatge C, s'ajustarà a l'estàndard MISRA C:2004.
- L'especificació general de programari AUTOSAR 4.3 [9] requereix que si la implementació del mòdul BSW està escrita en llenguatge C, s'ajustarà a l'estàndard MISRA C:2012.