MISRA C

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

MISRA C je standard pro vývoj softwaru v programovacím jazyku C. Standard vyvinula MISRA (Motor Industry Software Reliability Association). Cílem standardu je napomáhání bezpečnosti kódu, přenositelnosti a spolehlivosti v kontextu vestavěných systémů naprogramovaných zejména v ISO C. Existuje také množina směrnic pro MISRA C++.

V současnosti je více uživatelů MISRA mimo automobilový průmysl: "MISRA se vyvinula v široce přijímaný soubor nejlepších praktik vedoucími vývojáři v oblastech aerospace, telekomunikačních, zdravotnických zařízení, obranných, železničních a dalších."[1][2]

První vydání standardu MISRA C, "Guidelines for the use of the C language in vehicle based software", bylo vydáno v roce 1998 a je oficiálně známé jako MISRA-C:1998.[3]

V roce 2004 bylo zveřejněno druhé vydání "Guidelines for the use of the C language in critical systems" nebo také MISRA-C:2004. Toto vydání obsahuje podstatné změny směrnic včetně úplného přečíslování všech pravidel.

Nedávno byla zahájena práce na další revizi směrnic, které mají být zaměřeny na použití C99.

Jako většina standardů (například ISO, BSI Group, RTCA, Incorporated atd.) nejsou směrnice MISRA C zdarma dostupné uživatelům ani programátorům.[4]

Pravidla[editovat | editovat zdroj]

MISRA C znamená "Motor Industry Software Reliability Association" C standard.

MISRA-C:1998 má 127 pravidel, z čehož 93 je povinných a 34 je doporučených; pravidla jsou číslována za sebou od 1 do 127.

MISRA-C:2004 obsahuje 141 pravidel, z čehož 121 je povinných a 20 je doporučených; jsou rozdělena do 21 tematických kategorií, od "Environment" až po "Run-time failures".

Nástroje[editovat | editovat zdroj]

I když existuje mnoho softwarových nástrojů, o kterých se tvrdí, že kontrolují kód, zda vyhovuje MISRA, neexistuje žádný oficiální proces pro certifikaci těchto nástrojů.[5]

Na MISRA fóru je dostupný vzorový balík pro MISRA-C:2004. Tento umožňuje uživatelům softwarových nástrojů vyhodnocovat a porovnávat jejich úroveň kontroly s různými MISRA nástroji. Navíc poskytuje tvůrcům nástrojů určitý návod ve smyslu pravidel podle MISRA-C:2004.

Většina směrnic může být prověřena použitím nástrojů, které provádí statickou analýzu kódu. Zbývající směrnice vyžadují použití dynamické analýzy kódu.

Nástroje, které kontrolují, zda kód vyhovuje stanardům MISRA
  • Coverity
  • GrammaTech
  • Klocwork
  • Liverpool_Data_Research_Associates|LDRA
  • Parasoft
  • PC-Lint
  • Polyspace
  • QA-C
  • Understand_(software)|Understand
Kompilátory, které podporují MISRA směrnice a pravidla
  • Green Hills Software
  • IAR Systems

Související články[editovat | editovat zdroj]

Odkazy[editovat | editovat zdroj]

  1. http://www.cosmicsoftware.com/misra.php
  2. http://www.ldra.com/misrac.asp
  3. A brief history of MISRA C
  4. "Buying MISRA C"
  5. faqs

Externí odkazy[editovat | editovat zdroj]

  • http://www.misra.org.uk
  • Introduction to MISRA C [online]. embedded.com. Dostupné online. (anglicky) 
  • MISRA C: Safer Is Better [online]. electronicdesign.com. Dostupné online. (anglicky) 
  • MISRA C — Some key rules to make embedded systems safer [online]. iar.com. Dostupné online. (anglicky) 
  • Software reliability expert Les Hatton. MISRA C papers [online]. leshatton.org. Dostupné online. (anglicky) 
  • Commentary on the first edition of the MISRA C guidelines [online]. knosof.co.uk. Dostupné online. (anglicky) 
  • Automating Compliance to MISRA C/C++ Standards [online]. johndayautomotivelectronics.com. Dostupné online. (anglicky)