Verwenden Sie Agentic AI, um intelligentere API-Tests zu generieren. In wenigen Minuten. Erfahren Sie mehr >>
Zum Abschnitt springen
Wie MISRA C 2025 die Herausforderungen von KI und Rust bewältigt
Informieren Sie sich über die wichtigsten Updates in MISRA C 2025, die Rolle der KI bei der Codegenerierung, die wachsende Beliebtheit von Rust und die Auswirkungen dieser Änderungen auf Entwickler und Organisationen.
Zum Abschnitt springen
Zum Abschnitt springen
MISRA C-Richtlinien setzen seit Jahrzehnten Maßstäbe für Sicherheit und Zuverlässigkeit in eingebetteten Systemen. Dies gilt insbesondere für Branchen wie die Automobilindustrie, die Luft- und Raumfahrt, die Medizintechnik und die industrielle Automatisierung. Mit der Veröffentlichung von MISRA C 2025 entwickeln sich die Programmierrichtlinien weiter und berücksichtigen moderne Herausforderungen wie KI-generierten Code und das wachsende Interesse an Rust als Alternative zu C/C++.
MISRA C 2025 Inkrementelle Updates mit praktischen Verbesserungen
MISRA C 2025 ist eine schrittweise Verfeinerung von MISRA C 2023. Die wichtigsten Änderungen zielen darauf ab, die Sicherheit und das Entwicklererlebnis zu verbessern.
Neue Regeln und Änderungen
Die Richtlinien enthalten vier neue Regeln, die sich mit neu auftretenden Codierungsrisiken befassen.
- Implizite Vergleiche von Zeigern auf Null werden nicht zugelassen.
- Beschränkung der Verwendung inaktiver Union-Mitglieder mit Ausnahme von Zeichenarrays, die für Aliasing-Lesevorgänge zulässig sind.
- Sicherstellen eindeutiger Include Guard-Makrokennungen im gesamten Projekt.
- Die Anforderungen für die Konvertierung von Zeigern in Ganzzahlen wurden verschärft. Beispielsweise ist Regel 11.4 jetzt erforderlich und nicht mehr nur eine Empfehlung.
Geänderte Regeln
Zwei Regeln wurden in andere Regeln integriert. Daher wurden sie im Zuge der Überarbeitung der Regelorganisation gelöscht. Darüber hinaus wurde die umstrittene Empfehlungsregel, die einen einzigen Ausstiegspunkt in Funktionen vorschrieb, optional.
Drei Regeln wurden zur besseren Organisation neu nummeriert und dreizehn Regeln wurden geändert, um aktuelle Best Practices widerzuspiegeln und Unklarheiten zu beseitigen.
Mehr zum Verschwinden der Single-Exit-Regel
Die Single-Exit-Regel ist seit Jahrzehnten ein fester Bestandteil von MISRA. Historisch an ältere modulare Programmierpraktiken gebunden, trägt die Änderung, sie optional zu machen, modernen strukturierten Programmierpraktiken Rechnung und spiegelt MISRAs Hinwendung zur Praktikabilität ohne Kompromisse bei der Sicherheit wider.
Diese Regel stammt ursprünglich aus der Assemblerprogrammierung, wo Sprünge überall möglich waren. In modernen strukturierten Sprachen wie C führt jedoch jede Rückgabe sicher zum Aufrufer zurück. Einige Organisationen setzen sie noch immer durch, daher hat die MISRA-Arbeitsgruppe sie beibehalten – mittlerweile ist sie jedoch optional.
Gelockerte Beschränkungen für mehr Flexibilität für Entwickler
MISRA C 2025 führte außerdem in den folgenden Bereichen mehr Flexibilität für Entwickler ein.
- Switch-Anweisungen. Klauseln können jetzt mit anderen Anweisungen als „break“ beendet werden (z. B. „return“, „abort“ oder „continue“), wodurch der Bedarf an nicht erreichbarem Code reduziert wird.
- Zeigerkonvertierungen. Für Konvertierungen mit „intptr_t“ und „uintptr_t“ wurden Ausnahmen hinzugefügt, um sie an die Standardtoleranzen anzupassen.
- Dynamischer Speicher. Die sofortige Konvertierung von neu zugewiesenem Speicher in einen bestimmten Zeigertyp ist nun zulässig. Von der dynamischen Speichernutzung wird jedoch weiterhin abgeraten.
KI-generierter Code und MISRA-Konformität
Wie gelten die MISRA-Richtlinien für KI-generierten Code? Das ist eine drängende Frage in der Softwareentwicklung.
KI-generierter Code ist nicht dasselbe wie qualifizierter automatisch generierter Code
MISRA bietet traditionell Nachsicht für automatisch generierten Code, beispielsweise von Simulink oder Stateflow generierten Code. MISRA hat dies schon lange durch bestimmte Richtlinien geregelt und ihn als „nicht anwendbar“ eingestuft, um die Einhaltung zu erleichtern.
Andererseits legt MISRA für KI-generierten Code von LLMs wie GitHub Copilot die gleichen Standards an wie für von Menschen geschriebenen Code. Das MISRA-Komitee betont, dass KI-Code nicht über die deterministischen Garantien modellbasierter Generatoren verfügt, was bedeutet, dass er unvorhersehbare Risiken birgt und einer besonderen Prüfung bedarf. Daher sind statische Analysen, Peer-Reviews und Unit-Tests erforderlich. Diese Testmethoden sind sogar obligatorisch.
KI-gestützte Sanierung
KI kann bei der Behebung von MISRA-Verstößen helfen. Lösungen wie Parasoft C/C++test lassen sich in GitHub Copilot integrieren und bieten kontextbezogene Anleitungen, eingebettete Regeldokumentation und die Verwendung von Denkketten, um konforme Korrekturen zu generieren.
Kurz gesagt: Die statische Analyselösung von Parasoft integriert KI und verbindet sie mit Compliance, um Folgendes zu erreichen:
- Erklären Sie Verstöße im Kontext.
- Schlagen Sie beispielsweise konforme Korrekturen für Probleme wie Zeigermissbrauch vor.
- Automatische Unterdrückung von Verstößen gegen Legacy-Regeln bei der Migration zu MISRA C 2025.
Entwickler müssen die KI-Vorschläge zwar noch immer prüfen, der Prozess beschleunigt jedoch die Behebung und gewährleistet gleichzeitig die Konformität.
Erweiterung der Reichweite von MISRA
MISRA hat über die Kernrichtlinien hinaus zwei neue Nachträge veröffentlicht.
- Anhang 5 ordnet die MISRA C-Richtlinien den CWE-Schwachstellen zu, die als für die Speichersicherheit relevant gekennzeichnet sind, und hilft Entwicklern, Schwachstellen systematisch zu beheben.
- Anhang 6 bewertet die Anwendbarkeit der MISRA C-Richtlinien auf Rust und identifiziert potenzielle Sicherheitsbedenken. Dies ist ein grundlegender Schritt hin zu zukünftigen Rust-spezifischen Richtlinien.
Die Rust-Frage: Wird MISRA über C/C++ hinaus erweitert?
Da die Programmiersprache Rust in sicherheitskritischen Systemen immer mehr an Bedeutung gewinnt, fragen sich viele, ob MISRA Richtlinien dafür entwickeln wird.
Während Anhang 6 untersucht, wie bestehende C/C++-Regeln auf Rust abgebildet werden können, erfordern dessen Ownership-Modell und Speichersicherheitsfunktionen neue sprachspezifische Regeln. Die Rust-Community arbeitet aktiv an Sicherheitsstandards, die möglicherweise zu einer zukünftigen MISRA-Rust-Richtlinie führen.
Wichtige Erkenntnisse für Entwickler
MISRA C 2025 verfeinert den Standard mit Aktualisierungen, die die Praktikabilität in den Vordergrund stellen, ohne die Sicherheit zu beeinträchtigen. Hier sind einige wichtige Punkte.
- KI-generierter Code erfordert eine genaue Prüfung. Behandeln Sie es wie von Menschen geschriebenen Code und erzwingen Sie die vollständige Einhaltung.
- Die Werkzeuge sind entscheidend. Lösungen wie Parasoft C/C++test optimieren die Compliance mit KI-gestützten Korrekturen und nahtloser Integration in Arbeitsabläufe.
- Auf dem Laufenden bleiben. Die neuen Zuordnungen von MISRA für CWE und Rust zeigen die sich entwickelnde Rolle des Standards in der modernen Softwaresicherheit.
Fazit: Sicherheit im Zeitalter von KI und neuen Sprachen
MISRA C 2025 zeigt, wie sich Sicherheitsstandards parallel zur Technologie weiterentwickeln müssen. Durch die Berücksichtigung von KI-generiertem Code, die Überarbeitung veralteter Regeln und die Prüfung der Rust-Kompatibilität stellt MISRA sicher, dass es ein vertrauenswürdiges Framework für unternehmenskritische Software bleibt.
Für Entwickler ist klar: Automatisierung und KI können die Programmierung unterstützen, menschliche Kontrolle und gründliche Tests bleiben jedoch unverzichtbar. Im weiteren Branchenverlauf ist es entscheidend, informiert und anpassungsfähig zu bleiben, um Innovation und Sicherheit zu gewährleisten.
Finden und beheben Sie C/C++-Codeverletzungen schneller mit KI-gestützter statischer Analyse
Verwandte Post + Ressourcen

