Vés al contingut

MISRA C

De la Viquipèdia, l'enciclopèdia lliure
MISRA C

TipusLlenguatge de programació
Versió inicial1997
Característiques tècniques
Sistema operatiuMultiplataforma
Equip
Creador/sConsorci MISRA
EditorMotor Industry Software Reliability AssociationModifica el valor a Wikidata
Més informació
Lloc webmisra.org.uk/misra-c///

MISRA Cés un conjunt de directrius de desenvolupament de programari per al llenguatge deprogramacióCdesenvolupat pelConsorci MISRA.Els seus objectius són facilitarla seguretat,la fiabiliat, laportabilitati la fiabilitat del codi en el context delssistemes encastats,concretament els sistemes programats a laISO C/C90/C99.[1]

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: laDirectivael 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 projecteJoint Strike Fighter[4]es basen en MISRA-C:1998.
  • Els estàndards de codificació C del JetPropulsionLaboratory dela NASA[5]es basen en MISRA-C:2004.
  • Lanorma ISO 26262Seguretat funcional - Vehicles de carreteracita MISRA C com un subconjunt adequat del llenguatge C:
    • ISO 26262-6:2011Part 6: Desenvolupament de productes a nivell de programari[6]cita MISRA-C:2004 i MISRA AC AGC.
    • ISO 26262-6:2018Part 6: Desenvolupament de productes a nivell de programari[7]cita MISRA C:2012.
  • L'especificació general de programari AUTOSAR (SRS_BSW_00007) també cita MISRA C:
    • L'especificació general de programari AUTOSAR 4.2[8]requereix quesi 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 quesi la implementació del mòdul BSW està escrita en llenguatge C, s'ajustarà a l'estàndard MISRA C:2012.

Referències

[modifica]
  1. «MISRA C - CodeDocs» (en anglès).https://codedocs.org/what-is/misra-c.+[Consulta: 25 agost 2022].
  2. In spring 1997 software engineers at theAustin Rover Group(ARG) sent a draft C coding standard to Programming Research Ltd (PRL) for review. The review was performed by PRL's then senior consultant, David Blyth, who proposed replacing the draft with an appreciably stronger set of coding rules. Those rules, with minor changes, formed the basis of the first edition of MISRA C.
  3. «What Is MISRA C? – A Safe and Secure Coding Standard for Embedded Software» (en anglès).https:// mathworks.+[Consulta: 25 agost 2022].
  4. «Joint Strike Fighter Air Vehicle C++ Coding Standards» (en anglès).http:// stroustrup.+[Consulta: 16 juliol 2019].
  5. «NASA JPC C Coding Standards» (en anglès).https://andrewbanks.+[Consulta: 16 juliol 2019].
  6. «ISO 26262-6:2011 Road vehicles -- Functional safety -- Part 6: Product development at the software level» (en anglès).iso.org.ISO. [Consulta: 16 juliol 2019].
  7. «ISO 26262-6:2018 Road vehicles -- Functional safety -- Part 6: Product development at the software level».iso.org.ISO. [Consulta: 16 juliol 2019].
  8. «AUTOSAR 4.2 General Software Specification» (en anglès).autosar.org.Arxivat de l'originalel 2018-09-20. [Consulta: 16 juliol 2019].
  9. «AUTOSAR 4.3 General Specification of Basic Software Modules» (en anglès).autosar.org.AutoSAR, 30-11-2016. Arxivat de l'originalel 2018-09-20. [Consulta: 16 juliol 2019].