Parasoft-Logo

Sehen Sie Parasoft C/C++test in Aktion!

Planen Sie eine personalisierte Demo.

Demo anfordern

WEBINAR

Sehen Sie sich MISRA C 2025 an: Alles, was Sie wissen müssen

Sehen Sie sich Michal Rozenau, ein beitragendes Mitglied des MISRA C 2025-Entwicklungsteams, an, der einen detaillierten Einblick in MISRA C 2025.

MISRA C 2025: Was ist neu und warum ist es wichtig

MISRA C 2025 baut auf MISRA C 2023 auf, indem es Compliance-Richtlinien verfeinert, veraltete Regeln entfernt und Best Practices stärkt. Es soll den Compliance-Aufwand senken, indem veraltete Regeln entfernt und verstärkt werden Best Practices für die CodierungInsbesondere wird die funktionale Sicherheit durch strengere Regeln für Unions und Zeiger verbessert, die das Risiko undefinierten Verhaltens verringern. Darüber hinaus haben Entwickler jetzt mehr Flexibilität bei der Beendigung von Switch-Klauseln wie „return“ und „continue“. Dadurch können sie Audits rationalisieren und Zeitverzögerungen vermeiden.

Diese Sitzung zeigt auch, wie Parasoft C/C++test vollständige MISRA-Konformität Abdeckung und lässt sich nahtlos in moderne Entwicklungsabläufe integrieren. Parasofts 100-prozentige frühzeitige Unterstützung für MISRA C 2025 stellt sicher, dass Teams die neuesten Codierungsstandards sofort übernehmen können, kostspielige Nacharbeiten vermeiden und in wettbewerbsintensiven Märkten die Nase vorn behalten.

Wichtige Highlights

  • Verbesserungen und neue Richtlinien
  • Richtlinienänderungen
  • Klarstellung zum KI-generierten Code
  • Einfache Integration in die CI/CD-Pipeline
  • Anwendung patentierter KI/ML zur Steigerung der Produktivität

Statische Analyse und Shifting Left verstehen

Statische Analyse ist eine Methode zum Auffinden von Fehlern und Codeproblemen durch Betrachtung des Quellcodes, ohne die Anwendung auszuführen. Dies geschieht früh im Entwicklungsprozess und wird oft als „Shifting Left“ bezeichnet. Dies ist wichtig, da die frühzeitige Behebung von Problemen wesentlich günstiger und einfacher ist als die spätere, insbesondere nach der Veröffentlichung der Software.

Statische Analysen helfen nicht nur dabei, Fehler zu finden, sondern auch, hohe Programmierstandards einzuhalten. Dies ist besonders wichtig für Systeme, bei denen Sicherheit und Schutz entscheidend sind, wie z. B. bei medizinischen Geräten, Flugzeugen und autonomen Fahrzeugen. Standards wie MISRA und AUTOSAR C++ 14 helfen dabei. Nicht alle Tools unterstützen diese Standards vollständig, die statische Analyse von Parasoft jedoch schon.

Die statische Analyse ist zudem automatisiert und wiederholbar. Sie müssen dafür keine spezifischen Testfälle schreiben, wie dies bei Unit- oder Integrationstests der Fall ist. Sie erhalten außerdem Einblicke in Codequalitätsmetriken wie Komplexität und Lesbarkeit und können so Entwicklern helfen, insgesamt besser zu werden.

Die Entwicklung von MISRA C: Von 2023 bis 2025

MISRA C ist ein beliebter Satz von Kodierrichtlinien für sicherheitskritische Anwendungen, der in den Bereichen Automobil, Eisenbahn, Luft- und Raumfahrt, Verteidigung, Medizin und industrielle Automatisierung eingesetzt wird. Die neueste Version, MISRA C 2025ist ein inkrementelles Update für MISRA C 2023.

Hier ein Blick auf die Änderungen:

  • Neue Regeln: Es wurden 4 neue Regeln eingeführt.
  • Entfernte Regeln: 2 Regeln wurden entfernt, ihre Praktiken werden jedoch durch andere Richtlinien abgedeckt.
  • Nicht angewendete Regel: 1 Regel wurde standardmäßig deaktiviert.
  • Neu nummerierte Regeln: 3 Regeln wurden in passendere Abschnitte verschoben.
  • Geänderte Regeln: 13 Regeln wurden aktualisiert.

Insgesamt enthält MISRA C 2025 224 Richtlinien.

Wichtige Erkenntnisse aus den MISRA C 2025-Updates

  • Neue Einschränkungen: Verbietet vorläufige Definitionen in Headern und externe Deklarationen in Quelldateien. Der implizite Vergleich von Zeigern auf Null ist nun ausdrücklich verboten. Das Lesen eines nicht gesetzten Union-Elements ist ebenfalls verboten, mit Ausnahme von Zeichenarray-Elementen.
  • Zeiger-zu-Integer-Konvertierung: Die Konvertierung von Zeigern in Integer-Typen erfordert nun ein explizites Abweichungsverfahren, wobei Regel 11.4 von „empfohlen“ zu „erforderlich“ geändert wurde.
  • Schutzvorrichtungen einschließen: Die Anforderung eindeutiger Include Guard-Makrokennungen innerhalb eines Projekts ist jetzt klarer.
  • Gelockerte Einschränkungen: Erfordert keine spezifischen Typdefinitionen für Gleitkommatypen mehr. Ermöglicht Konvertierungen zwischen Zeigern und Ganzzahltypen sowie die sofortige Konvertierung von neu zugewiesenem Speicher in einen bestimmten Zeigertyp.
  • Switch-Anweisungen: Switch-Klauseln können nun mit anderen Anweisungen beendet werden als break, wie etwa das Aufrufen abort oder mit return.
  • Mehrere Return-Anweisungen: Die Regel gegen mehrere Return-Anweisungen in einer Funktion wird jetzt standardmäßig aufgehoben, da strukturierte Sprachen wie C das Single Point of Exit-Prinzip nicht verletzen.

MISRA und KI-generierter Code

Um die Codequalität sicherzustellen, behandelt MISRA den von KI generierten Code, als wäre er handgeschrieben, sodass dieselben MISRA-Codierungsrichtlinien gelten.