Skip to main content
Log in

A HW/SW Cross-Layer Approach for Determining Application-Redundant Hardware Faults in Embedded Systems

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

Abstract

Hardware devices of recent technology nodes are intrinsically more susceptible to faults than previous devices. This demands further improvements of error detection methods. However, any attempt to cover all errors for all theoretically possible scenarios that a system might be used in can easily lead to excessive costs. Instead, an application-dependent approach should be taken, i.e., strategies for test and error resilience must target only those errors that can actually have an effect in the situations in which the hardware is being used. In this paper, we propose a method to inject faults into hardware (HW) and to formally analyze their effects on the software (SW) behavior. We describe how this analysis can be implemented based on a recently proposed HW-dependent software model called program netlist (PN). We show how program netlists can be extended to formally model the behavior of a program in the event of one or more hardware faults. Then, it is demonstrated how the results of the PN-based analysis can be exploited by a standard ATPG tool to determine hardware faults at the gate level that are “application-redundant”. Our experimental results show the feasibility of the proposed approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Aitch T (2003) Aquarius: a pipelined RISC CPU. http://opencores.org/project,aquarius

  2. Arlat J, Aguera M, Amat L, Crouzet Y, Fabre JC, Laprie JC, Martins E, Powell D (1990) Fault injection for dependability validation: a methodology and some applications. IEEE Trans Softw Eng 16(2):166–182

    Article  Google Scholar 

  3. Bartsch C, Rödel N, Villarraga C, Stoffel DS, Kunz W (2016) A HW-dependent software model for cross-layer fault analysis in embedded systems. In: 17Th latin-american test symposium (LATS), pp 153–158

  4. Bernardeschi C, Fantechi A, Gnesi S (1999) Formal validation of the guards inter-consistency mechanism. In: Computer safety, reliability and security, lecture notes in computer science, vol 1698. Springer, Berlin, pp 420–430

  5. Bernardeschi C, Fantechi A, Gnesi S (2002) Model checking fault tolerant systems. Softw Test Verification Reliab 12(4):251–275

    Article  Google Scholar 

  6. Biere A, Cimatti A, Clarke EM, Fujita M, Zhu Y (1999) Symbolic model checking using SAT procedures instead of BDDs. In: Proc. International design automation conference (DAC), pp 317– 320

  7. Boue J, Petillon P, Crouzet Y (1998) MEFISTO-l: a VHDL-based fault injection tool for the experimental assessment of fault tolerance. In: Digest of papers. Twenty-eighth annual international symposium on fault-tolerant computing, pp 168–173

  8. Clark JA, Pradhan DK (1995) Fault injection: a method for validating computer-system dependability. Computer 28(6):47–56

    Article  Google Scholar 

  9. Cotroneo D, Natella R (2013) Fault injection for software certification. IEEE Secur Priv 11(4):38–45

    Article  Google Scholar 

  10. Darbari A, Hashimi BA, Harrod P, Bradley D (2008) A new approach for transient fault injection using symbolic simulation. In: 14Th IEEE international on-line testing symposium, pp 93– 98

  11. Daveau JM, Blampey A, Gasiot G, Bulone J, Roche P (2009) An industrial fault injection platform for soft-error dependability analysis and hardening of complex system-on-a-chip. In: IEEE International reliability physics symposium, pp 212–220

  12. Ebrahimi M, Chen L, Asadi H, Tahoori MB (2013) CLASS: Combined logic and architectural soft error sensitivity analysis. In: Design automation conference (ASP-DAC), 2013 18th Asia and South Pacific, pp 601–607

  13. Entrena L, Garcia-Valderas M, Fernandez-Cardenal R, Lindoso A, Portela M, Lopez-Ongil C (2012) Soft error sensitivity evaluation of microprocessors by multilevel emulation-based fault injection. IEEE Trans Comput 61(3):313–322

    Article  MathSciNet  Google Scholar 

  14. Gracia-Moran J, Baraza-Calvo J, Gil-Tomas D, Saiz-Adalid L, Gil-Vicente P (2014) Effects of intermittent faults on the reliability of a reduced instruction set computing (RISC) microprocessor. IEEE Trans Reliab 63(1):144–153

    Article  Google Scholar 

  15. Grinschgl J, Krieg A, Steger C, Weiss R, Bock H, Haid J (2012) Efficient fault emulation based on post-injection fault effect analysis (pifea). In: IEEE 55Th international midwest symposium on circuits and systems (MWSCAS), pp 526–529

  16. Hari SKS, Venkatagiri R, Adve SV, Naeimi H (2014) GangES: Gang error simulation for hardware resiliency evaluation. In: ACM/IEEE 41St international symposium on computer architecture (ISCA), pp 61–72

  17. Hsueh MC, Tsai T, Iyer R (1997) Fault injection techniques and tools. Computer 30(4):75–82

    Article  Google Scholar 

  18. Kooli M, Natale GD (2014) A survey on simulation-based fault injection tools for complex systems. In: 9Th IEEE international conference on design technology of integrated systems in nanoscale era (DTIS), pp 1–6

  19. Larsson D, Haehnle R (2007) Symbolic fault injection. In: Proceedings 4th international verification workshop (verify) in connection with CADE-21, vol 259, pp 85–103

  20. Li ML, Ramachandran P, Karpuzcu UR, Hari SKS, Adve SV (2009) Accurate microarchitecture-level fault modeling for studying hardware faults. In: IEEE 15Th international symposium on high performance computer architecture, pp 105–116

  21. Li ML, Ramachandran P, Sahoo SK, Adve SV, Adve VS, Zhou Y (2008) Understanding the propagation of hard errors to software and implications for resilient system design. In: Proceedings of the 13th international conference on architectural support for programming languages and operating systems, ASPLOS XIII, pp 265–276

  22. Miele A (2014) A fault-injection methodology for the system-level dependability analysis of multiprocessor embedded systems. Microprocess Microsyst 38(6):567–580

    Article  Google Scholar 

  23. Mukherjee SS, Weaver C, Emer J, Reinhardt SK, Austin T (2003) A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In: Microarchitecture, 2003. MICRO-36. Proceedings. 36th annual IEEE/ACM international symposium on, pp 29–40

  24. Onespin Solutions GmbH OneSpin 360 DV-Verify. https://www.onespin.com/products/360-dv-verify/

  25. Pattabiraman K, Nakka N, Kalbarczyk Z, Iyer R (2013) Symplfied: Symbolic program-level fault injection and error detection framework. IEEE Trans on Comput 62(11):2292–2307

    Article  MathSciNet  Google Scholar 

  26. Perez J, Azkarate-Askasua M, Perez A (2010) Codesign and simulated fault injection of safety-critical embedded systems using systemc. In: European dependable computing conference, pp 221–229

  27. Piper T, Winter S, Suri N, Fuhrman TE (2015) On the effective use of fault injection for the assessment of AUTOSAR safety mechanisms. In: 11Th european dependable computing conference (EDCC), pp 85–96

  28. Portela-Garcia M, Lindoso A, Entrena L, Garcia-Valderas M, Lopez-Ongil C, Marroni N, Pianta B, Poehls LB, Vargas F (2012) Evaluating the effectiveness of a software-based technique under SEEs using FPGA-based fault injection approach. J Electron Test 28(6):777–789

    Google Scholar 

  29. Rashid L, Pattabiraman K, Gopalakrishnan S (2015) Characterizing the impact of intermittent hardware faults on programs. IEEE Trans Reliab 64(1):297–310

    Article  Google Scholar 

  30. Renesas Electronics Corporation TYO (2005) SH-1/SH-2/SH-DSP software manual, rev. 5.0. http://www.renesas.com/

  31. Riefert A, Cantoro R, Sauer M, Reorda MS, Becker B (2016) A flexible framework for the automatic generation of sbst programs. IEEE Trans on Very Large Scale Integr (VLSI) Syst 24(10):3055–3066

    Article  Google Scholar 

  32. Schmidt B, Villarraga C, Fehmel T, Bormann J, Wedler M, Nguyen M, Stoffel D, Kunz W (2013) A new formal verification approach for hardware-dependent embedded system software. IPSJ Trans on Syst LSI Design Methodology (Special Issue on ASPDAC-2013) 6:135–145

    Article  Google Scholar 

  33. Schwarz M, Chaari M, Tabacaru BA, Ecker W (2015) A meta-model-based approach for semantic fault modeling on multiple abstraction levels. In: Design and verification conference and exhibition europe

  34. Sharma A, Sloan J, Wanner L, Elmalaki S, Srivastava M, Gupta P (2013) Towards analyzing and improving robustness of software applications to intermittent and permanent faults in hardware. In: International conference on computer design , pp 435–438

  35. Steiner W, Rushby J, Sorea M, Pfeifer H (2004) Model checking a fault-tolerant startup algorithm: from design exploration to exhaustive fault simulation. In: International conference on dependable systems and networks, pp 189–198

  36. Synopsys Inc. (2010) Design Compiler user guide

  37. Synopsys Inc. (2013) TetraMAX ATPG user guide

  38. Tabacaru BA, Chaari M, Ecker W, Kruse T (2014) A meta-modeling-based approach for automatic generation of fault-injection processes. DVCon Europe pp. 1–7

  39. The SIR Project Software-artifact infrastructure repository. http://sir.unl.edu. Accessed: 2015-09-01

  40. Villarraga C, Schmidt B, Bao B, Raman R, Bartsch C, Fehmel T, Stoffel D, Kunz W (2014) Software in a hardware view: New models for HW-dependent software in SoC verification and test (invited paper). In: Proceedings International test conference (ITC’14)

  41. Villarraga C, Schmidt B, Bartsch C, Bormann J, Stoffel D, Kunz W (2013) An equivalence checker for hardware-dependent software. In: 11. ACM-IEEE International conference on formal methods and models for codesign (MEMOCODE), pp 119–128

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlos Villarraga.

Additional information

Responsible Editor: L. M. Bolzani Pöhls

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bartsch, C., Villarraga, C., Stoffel, D. et al. A HW/SW Cross-Layer Approach for Determining Application-Redundant Hardware Faults in Embedded Systems. J Electron Test 33, 77–92 (2017). https://doi.org/10.1007/s10836-017-5643-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-017-5643-3

Keywords

Navigation