Empfohlenes On-Demand-Webinar: Beschleunigen Sie die Software-Compliance mit KI Jetzt ansehen >>
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 britischen Safety Critical Systems Research Programme zusammengeschlossen hat. Die britische Regierung hat dieses Programm ins Leben gerufen, um einige der Herausforderungen anzugehen, mit denen die Automobilindustrie aufgrund der zunehmenden Verwendung von Software bei der Herstellung und dem Betrieb von Straßenfahrzeugen durch die Automobil- und Lkw-Hersteller konfrontiert ist. Parasoft ist Mitglied des MISRA-Konsortiums.
MISRA C 2023 konsolidiert MISRA C 2012 und alle bisher veröffentlichten Änderungen und Berichtigungen. Der Standard unterstützt die Programmiersprache C, Versionen C90, C99, C11 und C18. Parasoft C/C++test unterstützt MISRA C 2023 vollständig und stellt es Softwareentwicklungsteams zur Verfügung, die sicherstellen möchten, dass Code bereitgestellt wird, der dem neuesten Codierungsstandard für Sicherheit entspricht.
MISRA C++ 2023 wird voraussichtlich noch dieses Jahr erscheinen. Es kombiniert die Codierungsrichtlinien von MISRA C++ 2008 und AUTOSAR C++14 mit Fortschritten bei der Unterstützung der C++-Programmiersprachen C++17, C++20 und darüber hinaus. Parasoft C/C++test unterstützt die veröffentlichte Entwurfsversion von MISRA C++ 2023, die die neuesten C++-Regeln enthält. Softwareingenieure haben die Möglichkeit, ihren Code zu scannen und mit der Verbesserung ihrer Anwendungen zu beginnen, die C++17- und C++20-Code verwenden, bevor der Standard veröffentlicht wird.
Als Teilnehmer an MISRAs C- und C++-Arbeitsgruppen, die MISRA aktiv weiterentwickeln, engagiert sich Parasoft für die schnelle Durchführung von Produktaktualisierungen. Kunden werden mit den neuesten Technologien unterstützt, um Kosten kontinuierlich zu senken und sichere, zuverlässige und konforme Software bereitzustellen.
Möchten Sie mehr erfahren? ON-DEMAND-WEBINAR ANSCHAUEN >>
Hinweis: MISRA ist ein Satz von Regeln für sicheres Codieren, nicht zum Testen von APIs.
„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.
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.
Verhindern Sie Codefehler zu einem früheren Zeitpunkt im Produktentwicklungsprozess, bevor sie zu teureren Herausforderungen auf der ganzen Linie führen.
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.
Binden Sie die Regeln und Richtlinien des MISRA-Sicherheitscodes als Teil Ihrer SAST-Strategie direkt in Ihren Softwareentwicklungslebenszyklus ein.
Erstellen Sie mit unserem RuleWizard Ihre eigene benutzerdefinierte Konfiguration mit Codierungsstandards für Ihr Unternehmen.
Parasoft bietet die Aggregation von Standards wie MISRA mit allen unseren anderen unterstützten Codierungsstandards: CERT, CWE, OWASP, UL 2900 und andere.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Programmierer können einige Codekonstrukte so schreiben, dass eine MISRA-Verletzung ausgelöst wird. Parasoft bietet eine Methode, um dieses Rauschen wissentlich herauszufiltern.
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.
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.
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.
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.
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äufigste Fragen
Die Motor Industry Software Reliability Association (MISRA) bezieht sich auf den weit verbreiteten und legendären Programmierstandard für C- und C++-Sprachen. MISRA bietet einen umfassenden Satz von Codierungsrichtlinien, die sich auf den Schutz von Anwendungen vor bekannten Sicherheitsverletzungen und Sicherheitslücken konzentrieren.
Integrieren Sie in Ihre Software-Implementierungsphase eine TÜV-zertifizierte Lösung, die Ihren Code nach dem MISRA-Standard auf bekannte Sicherheits- und Anwendungssicherheitsverletzungen analysiert.
In der modernen agilen Entwicklung können Sie auch die MISRA-Analyse und -Compliance in Ihren Continuous Integration and Continuous Delivery (CI/CD)-Workflow automatisieren. Stellen Sie sicher, dass Sie alle identifizierten Verstöße verstanden haben und stellen Sie sicher, dass sie alle behoben werden. Bei Abweichungen sind diese entsprechend der MISRA-Norm sorgfältig zu dokumentieren.
Schließlich müssen Sie die folgenden Artefakte für die MISRA-Konformitätszertifizierung vorlegen.
Die neueste Version, MISRA C:2023, enthält 200 MISRA C-Regeln und 21 Richtlinien für insgesamt 221 Richtlinien. Die Vorgängerversion und endgültige MISRA C:2012 Amendment 4, veröffentlicht am 15. März 2023, trug mit 19 neuen Regeln und 3 Richtlinien zum MISRA-Standard bei.
Statische Analyse ist der Prozess, bei dem Quellcode ohne Ausführung untersucht wird, normalerweise um Fehler zu finden oder die Codesicherheit und -zuverlässigkeit zu bewerten. Dies bedeutet, dass Softwareteams und Softwaresicherheitsteams statische Analysen für teilweise vollständigen Code, Bibliotheken und Quellcode von Drittanbietern verwenden können.
Statische Analysewerkzeuge Helfen Sie Teams bei der Einhaltung von Codierungsstandards wie MISRA C/C++, AUTOSAR C++ 14, SEI CERT oder Ihrer eigenen benutzerdefinierten Konfiguration.