A Study of the Impact of Bit-flip Errors on Programs Compiled with Different Optimization Levels
Paper i proceeding, 2014

In this paper we study the impact of compiler optimizations on the error sensitivity of twelve benchmark programs. We conducted extensive fault injection experiments where bit-flip errors were injected in instruction set architecture registers and main memory locations. The results show that the percentage of silent data corruptions (SDCs) in the output of the optimized programs is only marginally higher compare to that observed for the non-optimized programs. This suggests that compiler optimizations can be used in safety- and mission-critical systems without increasing the risk that the system produces undetected erroneous outputs. In addition, we investigate to what extent the source code implementation of a program affects the error sensitivity of a program. To this end, we perform experiments with five implementations of a bit count algorithm. In this investigation, we consider the impact of the implementation as well as compiler optimizations. The results of these experiments give valuable insights into how compiler optimizations can be used to reduce error sensitive of registers and main memory sections. They also show how sensitive locations requiring additional protection, e.g., by the use of software-based fault tolerance techniques, can be identified.

single bit-flips

fault injection

error sensitivity

compiler optimization

soft error


Behrooz Sangchoolie

Chalmers, Data- och informationsteknik, Datorteknik

Fatemeh Ayatolahi

Chalmers, Data- och informationsteknik, Datorteknik

Roger Johansson

Chalmers, Data- och informationsteknik, Datorteknik

Johan Karlsson

Chalmers, Data- och informationsteknik, Datorteknik

10th European Dependable Computing Conference, EDCC 2014; Newcastle upon Tyne; United Kingdom; 13 May 2014 through 16 May 2014;