- MISRA
-
MISRA-C ist ein C-Programmierstandard aus der Automobilindustrie, der von der MISRA (Motor Industry Software Reliability Association) erarbeitet wurde. Die erste MISRA Standard für die Programmiersprache C "MISRA C" wurde ursprünglich 1998 definiert. Inzwischen gibt es über 7000 Kopien der Standardisierung weltweit.[1] MISRA schreibt in einer Liste von über 100 Programmierregeln sicheres Programmieren vor. Zielsetzung sind die Vermeidung von Laufzeitfehlern durch unsichere C-Konstrukte, von strukturellen Schwächen durch Missverständnisse zwischen Programmierern und die Sicherstellung der Gültigkeit von Ausdrücken.
Inhaltsverzeichnis
Beispiel
/* falsch, weil man nicht sicher ist, was der Programmierer wollte */ /* Zuweisung oder Vergleich? */ if ( i = a ) { /* Anweisung */ }
/* Eine mögliche richtige Variante */ /* Zuweisung */ i = a; /* dann ein Vergleich */ if ( i != 0 ) { /* Anweisung */ }
/* Vielleicht sollte der Code aber auch folgendes darstellen */ if ( i == a ) { /* Anweisung */ }
MISRA-C wird kontinuierlich gepflegt und an neue Erfordernisse angepasst. Die aktuelle Version ist MISRA-C: 2004 (MISRA C Version 2). Seit 2008 gibt es ein neues Subset des MISRA Standards für C++ das als MISRA-C++: 2008 bezeichnet wird.[2] Bei der Programmierung von eingebetten Systemen im automobilen Umfeld ist MISRA-C-konformer Code üblicherweise vorgeschrieben. Zur Überprüfung werden Werkzeuge zur statischen Code-Analyse wie QA-C/MISRA verwendet.
Themen rund um MISRA werden alle 2-4 Jahre auf dem so genannten MISRA Day, der traditionell in Stuttgart stattfindet, dem interessierten Anwender aus Deutschland nähergebracht.[3].
Literatur
- MISRA: MISRA-C:2004 - Guidelines for the use of the C language in critical systems, ISBN 0952415623 (PDF: 095241564X)
- Helmut Schellong: Moderne C-Programmierung, 2005, ISBN 3540237852 (Kapitel 18.1, S.193-202: ausführliche Kritik von MISRA-C)
- Johannes Heuft: Der Weg zurück zur Software-Produktivität, 2007, ISBN 978-3-937446-88-2 (Kapitel 5.2.4, S. 37-41: Kritik an MISRA-C und den anwendenden Qualitätssicherern)
Einzelnachweise
Weblinks
Wikimedia Foundation.