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.
24 Elektronik automotive Safety & Security komponente möglicherweise nur eine niedrige Priorität haben und für Security und Safety von nachrangiger Bedeutung sind Die immense Zahl von Ergebnissen erschwert es Probleme mit der höchsten Priorität zu identifizieren Das Ganze wird noch durch die Tatsache verschärft dass die aktiven Codebasen oft schnell wachsen und man immer weiter hinter der Entwicklung hinterherhinkt Daher brauch man eine Strategie wie man Tools anwendet und Fehler abarbeitet Ein Lösungsansatz Unternehmen brauchen als erstes ein klares Verständnis davon welche Teile der Codebasis und welche Codierrichtlinien die höchste Priorität haben um Verstöße effizient anzugehen Wie bereits erwähnt ist der Ansatz die gesamte Codebasis mit einem statischen Codeanalyse-Tool zu scannen naiv Wenn alle Checker für Codierrichtlinien aktiviert sind führt das zwangsläufig zu einer hohen Zahl von Befunden Deshalb soll eine Lösung beschrieben werden die auf einem zweistufigen Prozess basiert Im ersten Schritt sollten Unternehmen relevante Codierrichtlinie für relevante Teile in der Codebasis identifizieren und eine entsprechende Konfiguration für die Software des Zielsystems erstellen Diese Regeln müssen vorweg mit dem Abnehmer abgesprochen werden Möglicherweise lassen sich Ergebnisse aus einer Hazard Analysis and Risk Assessment HARA oder einer Threat Analysis and Risk Assessment TARA anwenden um sicherheitssowie schutzrelevante Softwarekomponenten in der Codebasis präziser zu identifizieren Die Codebasis kann dann in verschiedene Komponenten unterteilt werden zum Beispiel eigenentwickelte sicherheitskritische Komponente automatisch generierte nicht sicherheitskritische Komponente fremdentwickelte sicherheitskritische Komponente nicht sicherheitskritische Open-Source-Softwarekomponente kommerzielle nicht sicherheitskritische Komponente usw Ein vereinfachtes Beispiel ist in Bild 1 dargestellt Darüber hinaus kann das Unternehmen kommunizieren welche Codierrichtlinie sich für welche Teile der Codebasis eignen Beispielsweise eignen sich bestimmte Regeln eher für sicherheitskritische Komponenten und weniger für nichtsicherheitskritische Komponenten Ein Tool zur statischen Codeanalyse wird dann entsprechend konfiguriert um die Codebasis regelmäßig zu scannen Dabei sucht es nur nach bestimmten Codierrichtlinien die für die spezifischen Softwarekomponenten relevant sind Das macht den Scan-Prozess deutlich effizienter Firmen sollten dazu ein Tool verwenden das eine breite Abdeckung von Checkern für Codierrichtlinien aufweist um bessere Ergebnisse zu erzielen 10 11 Beispiele für MISRA-Funde mit Coverity 12 einem Tool zur statischen Codeanalyse sind in Bild 2 visualisiert Dieses Tool zur statischen Codeanalyse generiert Ergebnisse die dann in einem zweiten Schritt von einem Tool zur Datenanalyse verarbeitet werden Ziel ist es die Ergebnismenge von potenziell Tausenden wenn nicht Hunderttausenden von Funden zu untersuchen und eine Burndown-Strategie für den Kunden zu erstellen Das Logilica-Insights-Tool 13 bietet Analysefunktionen wie man sie aus der Business Intelligence kennt und kombiniert diese mit unterschiedlichen visuellen Darstellungen Mithilfe dieses Werkzeugs können Unternehmen die Befunde analysieren klassifizieren visualisieren und leichter einen Einblick in die relevante MISRACompliance-Strategie für die Codebasis gewinnen Neben gängigen Diagrammund Visualisierungstechniken setzt Logilica auf sogenannte CodeCities 14 die 3D-Karten von Software-Repositorien darstellen Jede Datei wird dabei als ein Gebäude dargestellt Ebenen bilden Ordner ab Die Höhe Weite und Farbe der Gebäude wird dann von überlagerten Metriken bestimmt Bild 3 zeigt ein Beispiel für MISRA-Funde generiert mit einem Tool zur statischen Codeanalyse und mit dieser Logilica-Technik dargestellt Die Höhe des Gebäudes spiegelt dabei die Größe der Datei wider und die Farbe des Gebäudes Bild 4 Die am häufigsten beanstandeten MISRARegeln aus einem Beispielprojekt Bild Logilica Bild 3 3D-Karte zur Visualisierung der Fehlerdichte in der Codebasis Bild Logilica