Application-Dependent Hardware/Software Cross-Layer Fault Analysis
- Hardware devices fabricated with recent process technology are intrinsically more susceptible to faults than before. Resilience against hardware faults is, therefore, a major concern for safety-critical embedded systems and has been addressed in several standards. These standards demand a systematic and thorough safety evaluation, especially for the highest safety levels. However, any attempt to cover all faults for all theoretically possible scenarios that a sys- tem might be used in can easily lead to excessive costs. Instead, an application- dependent approach should be taken: strategies for test and fault resilience must target only those faults that can actually have an effect in the situations in which the hardware is being used. In order to provide the data for such safety evaluations, we propose scalable and formal methods to analyse the effects of hardware faults on hardware/soft- ware systems across three abstraction levels where we: (1) perform a fault effect analysis at instruction set architecture level by em- ploying fault injection into a hardware-dependent software model called program netlist, (2) use the results from the program netlist analysis to perform a deductive analysis to determine “application-redundant” faults at the gate level by exploiting standard combinational test pattern generation, (3) use the results from the program netlist analysis to perform an inductive analysis to identify all faults of a given fault list that can have an effect on selected objects of the high-level software, such as specified safety functions, by employing Abstract Interpretation. These methods aid in the certification process for the higher safety levels by (a) providing formal guarantees that certain faults can be ignored and (b) pointing to those faults which need to be detected in order to ensure product safety. We consider transient and permanent faults corrupting data in program- visible hardware registers and model them using the single-event upset and stuck-at fault models, respectively. Scalability of our approaches results from combining an analysis at the ma- chine and hardware level with separate analyses on gate level and C level source code, as well as, exploiting certain properties that are characteristic for embedded systems software. We demonstrate the effectiveness and scalability of each method on industry-oriented software, including a software system with about 138 k lines of C code.
Author: | Christian BartschORCiD |
---|---|
URN: | urn:nbn:de:hbz:386-kluedo-74041 |
DOI: | https://doi.org/10.26204/KLUEDO/7404 |
Advisor: | Wolfgang KunzORCiD |
Document Type: | Doctoral Thesis |
Cumulative document: | No |
Language of publication: | English |
Date of Publication (online): | 2023/09/04 |
Date of first Publication: | 2023/09/04 |
Publishing Institution: | Rheinland-Pfälzische Technische Universität Kaiserslautern-Landau |
Granting Institution: | Rheinland-Pfälzische Technische Universität Kaiserslautern-Landau |
Acceptance Date of the Thesis: | 2023/07/06 |
Date of the Publication (Server): | 2023/09/05 |
Tag: | Electronic Design Automation; Fault Injection; Formal Verification; Safety; Static Program Analysis |
Page Number: | 120 |
Faculties / Organisational entities: | Kaiserslautern - Fachbereich Elektrotechnik und Informationstechnik |
CCS-Classification (computer science): | B. Hardware |
DDC-Cassification: | 6 Technik, Medizin, angewandte Wissenschaften / 620 Ingenieurwissenschaften und Maschinenbau |
MSC-Classification (mathematics): | 94-XX INFORMATION AND COMMUNICATION, CIRCUITS |
Licence (German): | Creative Commons 4.0 - Namensnennung (CC BY 4.0) |