Auflistung nach Autor:in "Heinig, Andreas"
1 - 2 von 2
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragFast and low-cost instruction-aware fault injection(INFORMATIK 2013 – Informatik angepasst an Mensch, Organisation und Umwelt, 2013) Heinig, Andreas; Korb, Ingo; Schmoll, Florian; Marwedel, Peter; Engel, MichaelIn order to assess the robustness of software-based fault-tolerance methods, extensive tests have to be performed that inject faults, such as bit flips, into hardware components of a running system. Fault injection commonly uses either system simulations, resulting in execution times orders of magnitude longer than on real systems, or exposes a real system to error sources like radiation. This can take place in real time, but it enables only a very coarse-grained control over the affected system component. A solution combining the best characteristics from both approaches should achieve precise fault injection in real hardware systems. The approach presented in this paper uses the JTAG background debug facility of a CPU to inject faults into main memory and registers of a running system. Compared to similar earlier approaches, our solution is able to achieve rapid fault injection using a low-cost microcontroller instead of a complex FPGA. Consequently, our injection software is much more flexible. It allows to restrict error injection to the execution of a set of predefined components, resulting in a more precise control of the injection, and also emulates error reporting, which enables the evaluation of different error detection approaches in addition to robustness evaluation.
- KonferenzbeitragUnreliable yet useful – reliability annotations for data in cyber-physical systems(INFORMATIK 2011 – Informatik schafft Communities, 2011) Engel, Michael; Schmoll, Florian; Heinig, Andreas; Marwedel, PeterToday, cyber-physical systems face yet another challenge in addition to the traditional constraints in energy, computing power, or memory. Shrinking semiconductor structure sizes and supply voltages imply that the number of errors that manifest themselves in a system will rise significantly. Most cyber-physical systems have to survive errors, but many systems do not have sufficient resources to correct all errors that show up. Thus, it is important to spend the available resources on handling errors with the most critical impact. We propose an “unreliability” annotation for data types in C programs that indicates if an error showing up in a specific variable or data structure will possibly cause a severe problem like a program crash or might only show rather negligible effects, e.g., a discolored pixel in video decoding. This classification of data is supported by static analysis methods that verify if the value contained in a variable marked as unreliable does not end up as part of a critical operation, e.g., an array index or loop termination condition. This classification enables several approaches to flexible error handling. For example, a cyber-physical system designer might choose to selectively safeguard variables marked as reliable or to employ memories with different reliability properties to store the respective values.