Embedded-Software

Einsatz von MISRA C

17. Juli 2023, 6:00 Uhr | Von Mark Pitchford, LDRA
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 4

Einführung in MISRA C:2023

AMD4 und MISRA C:2023 als neueste Edi­tionen umfassen das Multi­threa­ding 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 Ne­benläufigkeits-Probleme, indem sie sich der Mul­ti­threa­ding-Eigenschaften der C-Sprache annehmen:

  • Einschränkung der dynamischen Einrichtung von ­Threads, um deterministische Nebenläufigkeits-Konzepte durchzusetzen
  • Sicherstellung, dass Threads von der Applikation eingerichtet werden, bevor Mutexe mit diesen ­Threads verknüpft werden
  • Minimierung des Risikos von Deadlocks und Data-Races
  • Koordinierung der sicheren Verwendung von ­Thread-Objekten und ­Thread-Identifiern

MISRA C enthält ebenfalls Richtlinien für undefiniertes Verhalten in atomaren Typen, welches das System kompromittieren kann:

  • Sicherstellung, dass atomare Typen von der Applikation korrekt konfiguriert werden
  • Gewährleistung, dass die Atomarität bei der Referenzierung atomarer Typen durch Zeiger nicht unbeabsichtigt aufgehoben wird
  • Eingeschränkte Verwendung mehrerer atomarer Typen in ein und derselben Anweisung

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 Konfigurations­management zu vereinfachen und zu rationalisieren, fasst MISRA C:2023 alle früheren MISRA‑C-Editionen und die AMD4-Ergänzungen in einem einzigen, umfassenden Basis­dokument 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 lang­fristigen 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 un­kritischem 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 auf­gestellt, um die Anforderungen von Kunden und Regulierungsstellen zu erfüllen.

passend zum Thema


  1. Einsatz von MISRA C
  2. Die Struktur der MISRA‑C-Guidelines
  3. Die Relevanz von MISRA C für die Cybersicherheit
  4. Umsetzung der Konformität zu MISRA C
  5. Einführung in MISRA C:2023

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu LDRA Inc.

Weitere Artikel zu Entwicklungswerkzeuge