MISRA-C
aus Wikipedia, der freien Enzyklopädie
MISRA-C ist ein C-Programmierstandard aus der Automobilindustrie, der von der MISRA (The Motor Industry Software Reliability Association) erarbeitet wurde. Er schreibt in einer Liste von über einhundert 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.
[Bearbeiten] 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 == TRUE ) { /* 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). Bei der Programmierung von eingebetten Systemem im automobilen Umfeld ist MISRA-C-konformer Code üblicherweise vorgeschrieben. Zur Überprüfung werden Werkzeuge zur statischen Code-Analyse verwendet.
[Bearbeiten] 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)