AMD4 und MISRA C:2023 als neueste Editionen umfassen das Multithreading und atomare Typen in C, um den von Embedded-Entwicklern heute vermehrt angewandten Nebenläufigkeits-Konzepten und prozessübergreifenden Techniken Rechnung zu tragen. Obwohl sich viele Best Practices auf die Thread-Leistung und die Speicheroptimierung konzentrieren, sind die MISRA‑C-Guidelines ausschließlich auf die Vermeidung von undefiniertem und unvorhersagbarem Nebenläufigkeits-Verhalten ausgerichtet, das die Safety und Security eines Systems beeinträchtigen kann.
Die Richtlinien minimieren potenzielle Nebenläufigkeits-Probleme, indem sie sich der Multithreading-Eigenschaften der C-Sprache annehmen:
MISRA C enthält ebenfalls Richtlinien für undefiniertes Verhalten in atomaren Typen, welches das System kompromittieren kann:
Zusätzliche Regeln in den neuen Editionen sind auf Probleme ausgerichtet, die sich in den letzten Jahren im Praxiseinsatz der C-Sprache ergeben haben. Diese Regeln betreffen beispielsweise die eingeschränkte Verwendung kleiner Integer-Makros und bestimmter Initialisierungsszenarien, die in mehreren, miteinander in Konflikt stehenden Initialisierungen ein und desselben Elements resultieren können.
Um das Konformitäts- und Konfigurationsmanagement zu vereinfachen und zu rationalisieren, fasst MISRA C:2023 alle früheren MISRA‑C-Editionen und die AMD4-Ergänzungen in einem einzigen, umfassenden Basisdokument zusammen. Diese Neuerung dürfte von all jenen begrüßt werden, die bisher mit mehreren Dokumenten zu Versionen früherer Editionen zu tun hatten.
Essenziell für alle
Safety- und Security-kritischen
Anwendungen
Etablierte Unternehmen können die langfristigen Vorteile der Konformität zu MISRA C daran erkennen, wie oft sie Auftragsvergaben gewonnen haben und wie zufrieden ihre Kunden sind. Neu auf den Markt kommende Anbieter wiederum setzen auf MISRA, um sich in hochgradig regulierten Branchen einen Wettbewerbsvorteil zu sichern. Die Vorteile von MISRA C kommen jedoch auch bei unkritischem Code zum Tragen, wo sie dazu beitragen, Produktprobleme und Sicherheitslücken im Betrieb zu minimieren.
Unabhängig davon, ob die betreffenden Teams von außen dazu gezwungen werden, hilft die Einbindung von MISRA C:2023 in die Entwicklungsprozesse, die Wahrscheinlichkeit von unvorhersagbarem Codeverhalten zu verringern. Zusätzlich tragen die MISRA‑C-Guidelines dazu bei, den Code zu beurteilen und mit der Zeit zu verbessern – speziell dann, wenn gemäß der in MISRA C enthaltenen Empfehlung automatisierte MISRA-Compliance-Tools zum Einsatz kommen.
Insgesamt sind jene Teams, die die MISRA-Konformität schneller erreichen, besser aufgestellt, um die Anforderungen von Kunden und Regulierungsstellen zu erfüllen.