Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
8 Elektronik automot ive EmbEddEd-SyStEmE vorgezogen damit die Entwickler nicht auf das Tool warten müssen ➔ ➔ Bei Post-Commit als Teil der CI CD-Pipelines werden Genauigkeit und Vollständigkeit gegenüber der Geschwindigkeit der Analyse bevorzugt um die Einhaltung der Unternehmensstandards zu gewährleisten Lokale Scans mit Fokus auf Single-Translation-Einheiten Checker für statische Analysen arbeiten entweder auf der Ebene der Übersetzungseinheiten oder auf der Systemebene wo einige der Probleme naturgemäß ein „Verständnis“ des Datenverkehrs und des Steuerungsprozesses zwischen den Dateien erfordern Der Programmierstandard MISRA C 2012 [1] unterscheidet zwischen „Single Translation Unit“ und „System Level“-Analyseumfang Der Standard enthält 39 Richtlinien die eine „Sicht auf Systemebene“ erfordern und 104 Richtlinien die eine „Sicht auf eine einzelne Übersetzungseinheit“ verlangen Prüfprogramme für die statische Analyse die Verletzungen der Single-Translation-Unit-Richtlinien erkennen sind in der Regel einfacher und weniger zeitaufwendig als System-Level-Richtlinien Checker für einzelne Übersetzungseinheiten finden für gewöhnlich mehr Probleme einfacher Art wogegen Checker auf Systemebene weniger Fehler finden die in der Regel schwerwiegender sind Die Strategie geht davon aus dass für die einzelne Übersetzungseinheit aktivierte Checker von den auf der Systemebene laufenden getrennt sind und als zwei Konfigurationen dargestellt werden Die Checker-Konfiguration für einzelne Übersetzungseinheiten wird bei schnellen lokalen Scans auf dem Rechner des Entwicklers angewendet Für die Systemebene konfiguriert werden Checker auf leistungsfähigeren Rechnern eingesetzt um Programmierstandards in den CI CD-Pipelines durchzusetzen Für das Experiment das mit der internen Code-Basis von Parasoft durchgeführt wurde dienten die Richtlinien von MISRA C 2012 Checker fanden 87 % der gemeldeten Verstöße bei einzelnen Übersetzungseinheiten die restlichen 13 % wurden von Checkern auf Systemebene identifiziert Bild 1 Fokussierung der statischen Analyse nur auf die geänderten Dateien Bei lokalen Scans die mit den Single-Translation-Unit-Checkern für die statische Code-Analyse durchgeführt werden lässt sich die Analysezeit weiter reduzieren indem der Scan nur auf die geänderten Dateien fokussiert wird Dieser Ansatz geht davon aus dass Entwickler die an einer kleinen schrittweisen Code-Änderung arbeiten an den Ergebnissen der statischen Analyse interessiert sind die für ihre Code-Änderungen relevant sind Diese begrenzten Scans nehmen viel weniger Zeit in Anspruch und liefern eine schnellere Rückmeldung sodass Entwickler die Ergebnisse der statischen Code-Analyse sofort bearbeiten können ohne den Kontext zu wechseln Kompliziertere Probleme die aufgrund von sich dateiübergreifend auswirkenden Code-Änderungen auftreten werden in den CI CD-Scans erkannt In der Parasoft-Studie wurde die Integration der statischen Code-Analyse von Parasoft mit dem Versionskontrollsystem Git erweitert um den Analyseumfang automatisch so einzuschränken dass nur geänderte Dateien berücksichtigt werden Bei dieser Methode gibt es verschiedene Strategien um festzustellen welche Dateien sich geändert haben Für die vollständige Automatisierung ist die Integration mit dem Verwaltungssystem zur Quellcode-Versionskontrolle notwendig Analyse der lokal geänderten Dateien Das statische Analysewerkzeug vergleicht die lokal auf dem Laufwerk gespeicherten Dateien mit dem referenzierten Zustand im aktuellen Zweig in der Versionsverwaltung Nur die lokal geänderten Dateien werden als Eingabe für die statische Analyse ausgewählt Analyse von Dateien die sich zwischen Zweigen unterscheiden Das statische Analysewerkzeug erhält Informationen über den „Referenz“-Zweig im Versionskontrollsystem und führt einen automatisierten Vergleich zwischen dem aktuellen Entwicklungszweig und dem Referenzzweig durch Nur die Dateien die sich zwischen dem aktuellen Zweig und dem Referenzzweig unterscheiden werden als Eingabe für die statische Analyse ausgewählt Bei beiden Strategien können Header-Dateien potenziell problematisch sein Um die Analysedauer zu verkürzen soll das Werkzeug den Analyseumfang automatisch auf nur Bild 1 Konzept der Anwendung von zwei Checker-Konfigurationen für die statische Code-Analyse Bild Parasoft