Empfohlenes Webinar: MISRA C++ 2023: Alles, was Sie wissen müssen | Zum Video

Vollständige Unterstützung für MISRA C 2023 und MISRA C++ 2023

Entwickler nutzen die MISRA-Regeln und die Einhaltung von Codierungsstandards in großem Umfang in Unternehmen außerhalb der Automobilindustrie, z. B. in den Bereichen Medizin und medizinische Geräte, Militär, Luft- und Raumfahrt, Industrieautomation, Schienenverkehr und Energie. Die Standards bieten eine Reihe von Richtlinien zum Schreiben von eingebettetem C- und C++-Code und erleichtern die Entwicklung von sicherem, sicherem und portablem Code für sicherheitskritische Systeme.

Holen Sie sich die UMFANGREICHSTE Abdeckung für die Einhaltung von MISRA C! MEHR ERFAHREN >> 

Was ist MISRA?

Die Motor Industry Software Reliability Association (MISRA) bezieht sich auf den weit verbreiteten und legendären Codierungsstandard für C- und C++-Sprachen. MISRA bietet umfassende Codierungsrichtlinien, die sich auf den Schutz von Anwendungen vor bekannten Sicherheitsverletzungen und Sicherheitslücken konzentrieren. Der Verband stuft Richtlinien entweder als „Regel“ oder als „Richtlinie“ ein.

Eine Regel enthält eine vollständige Beschreibung der Codierungsanforderung, und Entwickler können damit durch statische Analyse überprüfen, ob der Quellcode einer Richtlinie entspricht, ohne nach weiteren Informationen suchen zu müssen. Auf der anderen Seite bietet eine Direktive eine wichtige Vorschrift oder Entwicklungshilfe für Entwickler, wenn es ihnen im Allgemeinen nicht möglich ist, eine Überprüfung der Konformität durchzuführen.

MISRA ist ein Konsortium automobilbezogener Industrien, das sich Anfang der 1990er Jahre im Rahmen des Safety Critical Systems Research Programme des Vereinigten Königreichs zusammenschloss. Die britische Regierung hat dieses Programm ins Leben gerufen, um einige der Herausforderungen zu bewältigen, mit denen die Automobilindustrie konfrontiert war, da Automobil- und Lkw-Hersteller zunehmend Software bei der Herstellung und dem Betrieb von Straßenfahrzeugen einsetzen. Parasoft ist Mitglied der Arbeitsgruppe MISRA C und MISRA C++.

Mitglied der MISRA-Arbeitsgruppe

MISRA-EXPERTE

Michal Rosenau

Michal Rozenau war aktives Mitglied der Arbeitsgruppe MISRA C und MISRA C++.

Die umfangreichste MISRA-Abdeckung

MISRA-Expertise

Als Teilnehmer der C- und C++-Arbeitsgruppen von MISRA, die MISRA aktiv weiterentwickeln, hilft Parasoft bei der Definition des Standards und setzt sich für die schnelle Durchführung von Produktaktualisierungen ein. Kunden werden mit den neuesten Technologien unterstützt, um kontinuierlich Kosten zu senken und sichere, zuverlässige und konforme Software bereitzustellen.

MISRA C 2023

MISRA C 2023 konsolidiert MISRA C 2012 und alle bisher veröffentlichten Änderungen und Berichtigungen. Der Standard unterstützt die Programmiersprache C in den Versionen C90, C99, C11 und C18. Parasoft C/C++test unterstützt MISRA C 2023 vollständig und hat es Softwareentwicklungsteams zur Verfügung gestellt, die die Bereitstellung von Code sicherstellen möchten, der dem neuesten Codierungsstandard in Sachen Sicherheit entspricht.

MISRA C++ 2023

MISRA C++ 2023 treibt die Linie voran, die MISRA C++ 2008 und AUTOSAR C++ 14 zur Unterstützung der C++-Programmiersprache C++17 begonnen haben. Der Parasoft C/C++-Test deckt diesen neuen Standard zu 100 % ab. Mit Parasoft C/C++test haben Softwareentwickler die Möglichkeit, modernen C++-Code zu scannen und sicherzustellen, dass die Anwendungen, die C++17 und C++20 verwenden, so sicher wie möglich sind.

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.

Vorteile von MISRA

Wenn Entwickler MISRA-Richtlinien implementieren, hilft ihnen dies, sicheren und zuverlässigen Code bereitzustellen, der dauerhafte Vorteile bietet. Die Einhaltung von MISRA wirkt sich auf den Erfolg und die Langlebigkeit Ihres Produkts aus und reduziert gleichzeitig die Arbeitskosten und die Markteinführungszeit.

Erhöhen Sie die Codequalität und reduzieren Sie die Fehlerkosten.

Verhindern Sie Codefehler zu einem früheren Zeitpunkt im Produktentwicklungsprozess, bevor sie zu teureren Herausforderungen auf der ganzen Linie führen.

Erfüllen Sie die Industrieprozessstandards.

Parasoft bietet die statische MISRA-Analyse als Lösung, die von Prozessstandards wie ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128 und mehr empfohlen wird.

Erfüllen Sie statische Analyse-Sicherheitstests (SAST).

Binden Sie die Regeln und Richtlinien des MISRA-Sicherheitscodes als Teil Ihrer SAST-Strategie direkt in Ihren Softwareentwicklungslebenszyklus ein.

Erweitern Sie MISRA und erstellen Sie Ihre eigenen benutzerdefinierten Codierungsrichtlinien.

Erstellen Sie mit unserem RuleWizard Ihre eigene benutzerdefinierte Konfiguration mit Codierungsstandards für Ihr Unternehmen.

Kombinieren Sie Codierungsstandards wie CERT mit MISRA, um die optimale Codequalität zu erzielen.

Parasoft bietet die Aggregation von Standards wie MISRA mit allen unseren anderen unterstützten Codierungsstandards: CERT, CWE, OWASP, UL 2900 und andere.

Binden Sie MISRA SA in Ihren CI/CD-Workflow ein.

Die statische MISRA-Analyse von Parasoft lässt sich leicht in Ihre optimierte CI/CD-Pipeline mit kontinuierlichen Tests integrieren, die schnell hochwertige, sichere und geschützte Software liefert.

Intelligenter testen mit KI und ML.

Parasoft integriert künstliche Intelligenz und maschinelles Lernen, um die Produktivität in den statischen MISRA-Analyse-Workflow Ihres Teams zu verbessern, indem die Regelverstöße gekennzeichnet und priorisiert werden, die das Team zuerst beheben muss.

Lösungen zur Erfüllung der MISRA-Anforderungen

Stellen Sie die Produktsuite von Parasoft bereit, um eine statische Analyse des Codes durchzuführen, unabhängig davon, in welcher Entwicklungsumgebung Sie arbeiten.

Parasoft C/C++test führt statische Analysen durch, indem es eng in Ihre C- und C++-Entwicklungsumgebung integriert wird, Fehler frühzeitig erkennt und automatisch die Einhaltung von Industriestandards durchsetzt. Es ermöglicht die Einhaltung der Standards MISRA C:2023, MISRA C:2012, MISRA C++:2023, AUTOSAR C++14, JSF, HIC++, CERT C/C++ und CWE Top 25 und On the Cusp.

Jtest wurde entwickelt, um im modernen Agile DevOps- und DevSecOps-Framework zu glänzen, und arbeitet in der Java-Entwicklungsumgebung. Stellen Sie diese Testlösung bereit, um Java-Code-Qualitätsprüfungen auszuführen und eine Reihe von funktionalen Sicherheitsstandards einzuhalten. Jtest ermöglicht und hilft bei der Einhaltung der Standards OWASP, CWE Top 25 und On the Cusp sowie PCI DSS.

Durch die Unterstützung der Microsoft-Entwicklungsumgebung stellt dotTEST die Codequalität und die Einhaltung von Industriestandards sicher. Es ermöglicht die Einhaltung der Standards OWASP, CWE Top 25 und On the Cusp sowie PCI DSS.

MISRA-Compliance-Best Practices

Wenn es um die Einhaltung von MISRA geht, empfehlen wir mehrere sehr nützliche Praktiken. Hier ist eine Liste mit einigen der zu berücksichtigenden Methoden.

Code-/Peer-Reviews durchführen

Treffen Sie sich zusätzlich zur MISRA-Compliance mit Ihren Kollegen aus der Softwareentwicklung und überprüfen Sie systematisch den Code des anderen auf Fehler und Verstöße gegen den Programmierstil. Die Erfahrung zeigt, dass diese Aktivität die Produktion beschleunigt und die Codequalität erheblich verbessert.

Code-Klarheit

MISRA-Compliance hilft Ihnen, Code zu schreiben, der einfach zu lesen und zu verstehen ist. Seien Sie nicht zu schlau und schreiben Sie kryptischen Code, der schwer zu verstehen oder leicht misszuverstehen ist. Sie möchten nicht, dass andere Ingenieure oder Sie selbst viel Zeit damit verbringen, einen Fehler in Ihrem Code zu entschlüsseln.

Code-Robustheit

Wenn Sie die MISRA-Konformität erreichen, können Sie zuverlässigen Code schreiben, der nicht nur Sonnen-, sondern auch Regentage bewältigt. Dazu gehören negative Szenarien, die Ihre Bewerbung vorbereiten, wenn sie auf ungültige Daten stößt.

Code-Portabilität

Die MISRA-Konformität hilft Programmierern, Code mit Blick auf Portabilität zu schreiben, da portabler Code wie POSIX und ANSI C einfache und schnelle Verschiebungen auf andere Plattformen ermöglicht. Entwickler können andere Compiler oder andere Betriebssysteme mit minimalen Codeänderungen anpassen. Oftmals ergeben sich finanzielle oder geschäftliche Möglichkeiten, wenn eine Migration auf ein anderes Betriebssystem oder Ziel durchgeführt werden muss.

Codekomplexität

Die MISA-Konformität hilft Programmierern, Code zu schreiben, der nicht über eine große Anzahl von Verzweigungen verfügt. Je mehr Verzweigungen, desto höher die Codekomplexität und desto höher die Anzahl potenzieller Fehler im Code.

Wiederverwendbarkeit des Codes

Die MISRA-Compliance hilft Ihnen, portablen Code zu schreiben, den Sie in zukünftigen Produkten oder Projekten wiederverwenden können. Dies verbessert die Produktivität und reduziert Arbeits- und Testkosten.

Protokollieren Sie Ihre Abweichungen richtig

Jede Abweichung von der MISRA-Richtlinie erfordert eine gründliche Dokumentation der Richtlinie, des Umfangs, der Begründung, der Sicherheitsgewährleistung, der Konsequenzen und der Minderung.

MISRA-Rauschen reduzieren

Programmierer können einige Codekonstrukte so schreiben, dass eine MISRA-Verletzung ausgelöst wird. Parasoft bietet eine Methode, um dieses Rauschen wissentlich herauszufiltern.

Übernahme der MISRA-Compliance

Das Tolle daran, MISRA-Compliance vorzuschlagen, ist, dass Sicherheitsteams die Richtlinien in jeder Softwareentwicklungsphase eines Projekts einführen und verwenden können, und die Richtlinien sind auch dann wirksam, wenn ein Projekt unvollständig und teilweise codiert ist.

Die größte Herausforderung bei der Einführung der MISRA-Compliance besteht darin, dass eine große Menge an Code eine große Anzahl von Warnungen erzeugen kann. Daher sollten sich Unternehmen bei der Integration der MISRA-Compliance in ein Projekt darauf konzentrieren, das Team so schnell wie möglich produktiv zu machen.

Unternehmen sollten sich auch darauf konzentrieren, die Möglichkeit zu minimieren, dass die Warnungen der statischen Analyse das Team überfordern. Da das Erreichen der MISRA-Compliance zur täglichen Routine der Entwickler wird, können die Entwickler die Ergebnisse schneller analysieren und Fehler effizienter beheben.

Überlegungen zur Produktreife

Es ist auch wichtig, die Reife des in Entwicklung befindlichen Produkts zu berücksichtigen, da dies die Art und Weise beeinflusst, wie das Unternehmen die MISRA-Compliance übernehmen kann.

Vorhandenes Projekt auf dem Markt

Der primäre Ansatz zur Einführung der MISRA-Compliance für diese Projekte heißt „Anerkennen und Zurückstellen“. Da Entwickler wenig neuen Code hinzufügen, tragen alle Sicherheitsfehler und Sicherheitslücken, die sie entdecken, zu den bestehenden technischen Schulden bei.

Bestehendes Projekt mit aktueller Entwicklung

Der empfohlene Ansatz zur Einhaltung von MISRA wird als „A line in the sand“-Ansatz bezeichnet. Auf einer hohen Ebene bedeutet dieser Ansatz, dass Entwickler neuen Code verbessern, während sie ihn entwickeln, während weniger kritische Warnungen als technische Schuld zurückgestellt werden.

Neues Projekt

Entwickler können die MISRA-Konformität von Anfang an in ihre Entwicklungsumgebungen integrieren und so einen hohen Qualitätsstandard beim Schreiben des Codes sicherstellen. Der Adoptionsansatz wird in diesem Fall treffend „Greenfield“ genannt.

Beispiel für automatisiertes Compliance-Reporting

Analyse-Dashboard von Parasoft mit automatisiertem Compliance-Reporting. Für sicherheitskritische Anwendungen sollten Sie unsere TÜV SÜD-zertifizierte Lösung auf sicherheitskritischen Systemen einsetzen.

Warum Parasoft?

Parasoft C / C ++ test erkennt komplexe Laufzeit-ähnliche Probleme der MISRA-Compliance frühzeitig in der Entwicklungsphase – ohne kostspielige Laufzeittests durchführen zu müssen. C/C++test analysiert die Ausführungspfade durch den Code und findet MISRA-Compliance-Probleme wie Nullzeiger-Dereferenzierung, Division durch Null, Speicherlecks und Sicherheitsschwachstellen wie Arithmetik auf einem Zeigeroperanden, Pufferüberläufe, nicht erreichbarer Code und stdlib-Systemfunktion.

Benutzer können die Ergebnisse der MISRA-Compliance von C/C++test im dynamischen Berichts-Dashboard von Parasoft anzeigen, was eine automatisierte Nachbearbeitung und erweiterte Berichtsstrategien mit historischen Daten ermöglicht. Es ist einfach, die MISRA-Compliance-Ergebnisse über Builds hinweg im Laufe der Zeit zu sehen, selbst wenn Sie mit großen Codebasen und Legacy-Code arbeiten, bei denen die Sichtbarkeit des Codes normalerweise schwierig ist, sodass Sie sich schnell auf die Qualität des neu hinzugefügten Codes konzentrieren können.

Mit Widgets, die die MISRA-Compliance automatisch verfolgen, erhalten Benutzer einen dynamischen Einblick in den Software-Compliance-Prozess und können einfach automatische Berichte für Code-Audits und Zertifizierungsziele erstellen.

Häufig gestellte Fragen