Die Macht der 10 Regeln wurden 2006 von Gerard J. Holzmann vom NASA/JPL Labor für verlässliche Software entwickelt, um bestimmte C-Codierungspraktiken zu eliminieren, die eine Überprüfung oder statische Analyse des Codes erschweren. Diese Regeln sind eine Ergänzung zu den MISRA C-Richtlinien und wurden in die umfassenderen JPL-Codierungsstandards aufgenommen.
Regeln Die zehn Regeln lauten:
Vermeiden Sie komplexe Ablaufkonstrukte, wie goto und Rekursion. Alle Schleifen müssen feste Begrenzungen haben. Dies verhindert unkontrollierbaren Code. Vermeiden Sie die Zuweisung von Heap-Speicher nach der Initialisierung. Beschränken Sie Funktionen auf eine einzige Druckseite. Verwenden Sie mindestens zwei runtime assertions pro Funktion. Beschränken Sie den Umfang der Daten auf das kleinstmögliche Maß. Den Rückgabewert aller Funktionen, die nicht void sind, überprüfen oder auf void setzen, um anzuzeigen, dass der Rückgabewert unbrauchbar ist. Verwenden Sie den Präprozessor nur für Header-Dateien und einfache Makros. Beschränken Sie die Verwendung von Zeigern auf eine einzige Dereferenzierung und verwenden Sie keine Funktionszeiger. Kompilieren Sie mit allen möglichen aktiven Warnungen; alle Warnungen sollten dann vor der Freigabe der Software behoben werden.
Beispiel In der NASA-Studie über die Firmware der elektronischen Drosselklappensteuerung von Toyota wurden mindestens 243 Verstöße gegen diese Regeln festgestellt.
Siehe auch Softwarequalität
Literatur
Weblinks NASA Technical Standards System Software Assurance and Software Safety Standard Open Source Satellite: How do you make software that is reliable enough for space missions?
Belege
Kategorie:C (Programmiersprache) Kategorie:Programmierkonzept