On the Impact of Hardware Faults – An Investigation of the Relationship between Workload Inputs and Failure Mode Distributions

  • Domenico Di Leo
  • Fatemeh Ayatolahi
  • Behrooz Sangchoolie
  • Johan Karlsson
  • Roger Johansson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7612)


Technology scaling of integrated circuits is making transistors increasingly sensitive to process variations, wear-out effects and ionizing particles. This may lead to an increasing rate of transient and intermittent errors in future microprocessors. In order to assess the risk such errors pose to safety critical systems, it is essential to investigate how temporary errors in the instruction set architecture (ISA) registers and main memory locations influence the behaviour of executing programs. To this end, we investigate – by means of extensive fault injection experiments – how such errors affect the execution of four target programs. The paper makes three contributions. First, we investigate how the failure modes of the target programs vary for different input sets. Second, we evaluate the error coverage of a software-implemented hardware fault tolerant technique that relies on triple-time redundant execution, majority voting and forward recovery. Third, we propose an approach based on assembly language metrics which can be used to correlate the dynamic fault-free behaviour of a program with its failure mode distribution obtained by fault injection.


microprocessor faults fault injection dependability assessment software-implemented hardware fault tolerance failure mode distributions 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Borkar, S.: Designing reliable systems from unreliable components: the challenges of transistor variability and degradation. IEEE Micro 25(6), 10–16 (2005)CrossRefGoogle Scholar
  2. 2.
    Rebaudengo, M., Sonza Reorda, M., Violante, M.: A new approach to software-implemented fault tolerance. Journal of Electronic Testing: Theory and Applications 20(4), 433–437 (2004)CrossRefGoogle Scholar
  3. 3.
    Reis, G.A., et al.: SWIFT: Software implemented fault tolerance. In: Int. Symp. on Code generation and optimization (CGO 2005), pp. 243–254 (2005)Google Scholar
  4. 4.
    Skarin, D., Karlsson, J.: Software implemented detection and recovery of soft errors in a brake-by-wire System. In: 7th European Dependable Computing Conf. (EDDC-07), pp. 145–154 (2008)Google Scholar
  5. 5.
    Segall, Z., et al.: FIAT-fault injection based automated testing environment. In: 18th Int. Symp. on Fault-Tolerant Computing (FTCS-18), pp. 102–107 (1988)Google Scholar
  6. 6.
    Folkesson, P., Karlsson, J.: Considering Workload Input Variations in Error Coverage Estimation. In: Hlavicka, J., Maehle, E., Pataricza, A. (eds.) EDDC 1999. LNCS, vol. 1667, pp. 171–190. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Alexandersson, R., Karlsson, J.: Fault injection-based assessment of aspect-oriented implementation of fault tolerance. In: 41st Int. Dependable Systems & Networks Conf (DSN), pp. 303–314 (2011)Google Scholar
  8. 8.
    Barbosa, R., Vinter, J., Folkesson, P., Karlsson, J.: Assembly-Level Pre-injection Analysis for Improving Fault Injection Efficiency. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds.) EDCC 2005. LNCS, vol. 3463, pp. 246–262. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
  10. 10.
    Skarin, D., Barbosa, R., Karlsson, J.: GOOFI-2: A tool for experimental dependability assessment. In: 40th Int. Dependable Systems & Networks Conf. (DSN), pp. 557–562 (2010)Google Scholar
  11. 11.
    Carreira, J., Madeira, H., Silva, J.G.: A technique for the experimental evaluation of dependability in modern computer system. IEEE Trans. Soft. Eng. 24(2), 125–136 (1998)CrossRefGoogle Scholar
  12. 12.
    Jain, A., Murty, M., Flynn, P.: Data clustering: a review. ACM Computing Surveys (CSUR) 31(3), 264–323 (1999)CrossRefGoogle Scholar
  13. 13.
    Natella, R., Cotroneo, D., Duraes, J., Madeira, H.: On fault representativeness of software fault injection. IEEE Trans. Soft. Eng (2011) (in press) (preprint)Google Scholar
  14. 14.
    Kanawati, G.A., Kanawati, N.A., Abraham, J.A.: FERRARI: a tool for the validation of system dependability properties. In: 22nd Int. Symp. on Fault-Tolerant Computing (FTCS-22), pp. 336–344 (1992)Google Scholar
  15. 15.
    Madeira, H., Rela, M., Moreira, F., Silva, J.G.: RIFLE: A general purpose pin-level fault injector. In: 1st European Dependable Computing Conf (EDDC-01), pp. 199–216 (1994)Google Scholar
  16. 16.
    Arlat, J., et al.: Comparison of physical and software-implemented fault injection techniques. IEEE Trans. on Computers 52(9), 1115–1133 (2003)CrossRefGoogle Scholar
  17. 17.
    Martinez-Alvarez, A., et al.: Compiler-Directed soft error mitigation for embedded systems. IEEE Trans. on Dependable and Secure Computing 9(2), 159–172 (2012)CrossRefGoogle Scholar
  18. 18.
    Ruiz, J.C., Gil, P., Yeste, P., de Andrés, D.: Dependability Benchmarking of automotive control system. In: Dependability Benchmarking for Computer Systems. John Wiley & Sons, Inc. (2008)Google Scholar
  19. 19.
    Eeckhout, L., Sampson, J., Calder, B.: Exploiting program microarchitecture independent characteristics and phase behavior for reduced benchmark suite simulation. In: IEEE Int. Workload Characterization Symp., pp. 2–12 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Domenico Di Leo
    • 1
  • Fatemeh Ayatolahi
    • 2
  • Behrooz Sangchoolie
    • 2
  • Johan Karlsson
    • 2
  • Roger Johansson
    • 2
  1. 1.Dipartimento di Informatica e SistemisticaUniversità degli Studi di Napoli Federico IINaplesItaly
  2. 2.Department of Computer Science & EngineeringChalmers University of TechnologyGothenburgSweden

Personalised recommendations