Detailseite
Projekt Druckansicht

Hardware/Software Cross-Layer Fehleranalyse für den Entwurf sicherer eingebetteter Systeme

Fachliche Zuordnung Rechnerarchitektur, eingebettete und massiv parallele Systeme
Sicherheit und Verlässlichkeit, Betriebs-, Kommunikations- und verteilte Systeme
Förderung Förderung von 2017 bis 2023
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 360597144
 
Erstellungsjahr 2023

Zusammenfassung der Projektergebnisse

Eingebettete Systeme kommen heute zunehmend in sicherheitskritischen Anwendungen zum Einsatz. Autonomes Fahren ist hierfür ein prominentes Beispiel. Die Anforderungen an die funktionale Sicherheit eines Systems rücken daher in den Mittelpunkt des industriellen Interesses und bestimmen nicht selten den „ökonomischen Betriebspunkt“ einer neuen Technologie. Die Situation wird durch neue mikroelektronische Fertigungstechniken verschärft, aus der Hardwarekomponenten mit einer deutlich höheren Fehleranfälligkeit hervorgehen, als dies bislang der Fall war. Um dennoch eine hohe Zuverlässigkeit der Systeme zu gewährleisten, werden neue Methoden zum Schutz gegen Fehler benötigt. Jeder Versuch, alle Fehler in allen theoretisch denkbaren Szenarien abzudecken, in denen das System möglicherweise verwendet wird, kann jedoch leicht zu exzessiven Kosten führen. Es besteht daher Konsens in der Test-Community, dass neue, anwendungsspezifische Ansätze benötigt werden, um diesen Herausforderungen zu begegnen. Dies bedeutet, dass Strategien für Test und Fehlertoleranz nur diejenigen Fehler ins Auge fassen sollten, die eine Auswirkung in der Anwendung haben können, in der das System tatsächlich verwendet wird. Diese Anwendung wird durch die Software definiert. Dieses Projekt verfolgte das Ziel, eine HW/SW-Cross-Layer-Analyse zu erforschen, die den Effekt von Hardwarefehlern auf der Softwareebene bestimmt. Methoden wurden erforscht, wie durch eine formale Analyse die Propagation von Hardwarefehlern unter allen möglichen Programmläufen erfasst werden kann. Insbesondere war es ein Ziel unserer Forschung, Techniken bereitzustellen, mit deren Hilfe festgestellt werden kann, welche Fehler überhaupt keinen Effekt auf die Ausführung der Software oder ausgewählte, sicherheitskritische Komponenten der Software haben. Darüber hinaus soll der entwickelte Ansatz es erlauben, Fehler bezüglich ihrer Auswirkungen zu klassifizieren. Beispielsweise können Fehler identifiziert werden, die zwar die Daten eines Programms verfälschen können, aber niemals zu einer Veränderung des Kontrollflusses führen. Der erarbeitete Ansatz gibt nicht nur Hinweise, welche Fehler besonders kritisch sind. Im Unterschied zu bisherigen simulationsbasierten Ansätzen kann durch den Einsatz formaler Techniken zertifiziert werden, dass bestimmte Fehler das Systemverhalten niemals beeinträchtigen, oder in ihrer Wirkung auf bestimmte Teilfunktionen garantiert beschränkt sind. Im Laufe des Projektes wurde unser Forschungsansatz erheblich über die ursprünglich geplanten Konzepte ausgedehnt. Unsere Verfahren waren ursprünglich lediglich zur Bestimmung der Effekte von Hardwarefehlern auf die unteren Softwareschichten konzipiert. Während der Projektlaufzeit entstanden in unserem Forschungsteam jedoch neue Ideen, die zur Erweiterung unseres Ansatzes um die Methoden der Abstrakten Interpretation führten. Dadurch wurde erstmals eine HW/SW-Cross-Layer-Analyse möglich, die mit wohldefinierten Abstraktionen die Fehlerinjektionen in der Hardware im Zusammenspiel mit der Anwendungssoftware auf höheren Ebenen formal analysieren kann. Die Bedeutsamkeit und Skalierbarkeit des neuen Ansatzes wurde für ein eingebettetes System mit mehr als 100.000 Zeilen C-Code erfolgreich demonstriert.

Projektbezogene Publikationen (Auswahl)

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung