Advertisement

Compiler assisted self-checking of structural integrity using return address hashing

  • Uwe Wildner
Session 4 Fault Tolerant Design
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1150)

Abstract

A software-based approach to control-flow checking is presented. The method uses the control flow graph of a program to construct a state machine which is embedded into the program using a modified GNU C-compiler. Using the return address register as the state variable of the FSM no data overhead occurs. Employing a Compiler for the embedding of the redundant code into the program permits the exploitation of delay slots and jump optimizations for modern RISC processors. The method is evaluated on a SPARC processor using software-implemented control-flow error injection and the SPECint92 benchmark suite. The average temporal overhead is below 20% and the errors violating the fail-silent model can be reduced by a factor of 6 down to 0.3%.

Keywords

Control Flow Basic Block Finite State Machine Fault Injection Return Address 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ASU86]
    A. V. Aho, R. Sethi and J. D. Ullman: “Compilers — Principles, Techniques, and Tools”, Addison-Wesley, 1986Google Scholar
  2. [CMS95]
    J. Carreira, H. Madeira, and J. G. Silva: “Xception: Software Fault Injection and Monitoring in Processor Functional Units”, 5th Intern. Conference on Dependable Computing for Critical Applications, p. 135–149Google Scholar
  3. [CS90]
    Edward W. Czeck, Daniel P. Siewiorek: “Effects of Transient Gate-Level Faults on Program Behavior”, 20th International Symposium on Fault-Tolerant Computing, p. 236–243Google Scholar
  4. [GKT89]
    Ulf Gunneflo, Johann Karlsson, Jan Torin: “Evaluation of Error Detection Schemes Using Fault Injection by Heavy-Ion Radiation”, 19th International Symposium on Fault-Tolerant Computing, p. 340–347Google Scholar
  5. [KKA92]
    G. A. Kanawati, N. A. Kanawati, and J. A. Abraham: “FERRARI: A Tool for The Validation of System Dependability Properties”, 22th International Symposium on Fault-Tolerant Computing, p. 336–344Google Scholar
  6. [KY75]
    J.R.Kane and Stephen S.Yau: “Concurrent Software Fault Detection”, IEEE Transactions on Software Engineering SE 1(1): 87–99, March 1975Google Scholar
  7. [Lu82]
    David Jun Lu: “Watchdog Processors and Structural Integrity Checking”, IEEE Transactions on Computers, C-31(7): 681–685, July 1982Google Scholar
  8. [MH91]
    E. Michel and W. Hohl: “Concurrent Error Detection Using Watchdog Processors in the Multiprocssor System MEMSY”, Fault Tolerant Computing Systems. Informatik Fachberichte 283, p. 54–64Google Scholar
  9. [MKGT92]
    G. Miremadi, J. Karlsson, U. Gunneflo, and J. Torin: “Two Software Techniques for On-line Error Detection”, 22th International Symposium on Fault-Tolerant Computing, p. 328–335Google Scholar
  10. [MM88]
    Aamer Mahmood and E.J. McCluskey: “Concurrent Error Detection Using Watchdog Processors — A Survey”, IEEE Transactions on Computers, C-37(2): 160–174, February 1988Google Scholar
  11. [MT95]
    Ghassem Miremadi and Jan Torin: “Effects of Physical Injection of Transient Faults on Control Flow and Evaluation of Some Software-Implemented Error Detection Techniques”, 4th International Conference on Dependable Computing for Critical Applications, p. 435–457Google Scholar
  12. [Nam82]
    M. Namjoo: “Techniques for Concurrent Testing of VLSI Processor Operation”, 1982 International Test Conference, p.461–468Google Scholar
  13. [SH95]
    Volkmar Sieh and Joachim Hönig: “Software Based Concurrent Control Flow Checking”, Internal Report 10/95, IMMD III, University of Erlangen-Nürnberg, Dec.1995Google Scholar
  14. [SM89]
    Nirmal R. Saxena and Ed. J. McCluskey: “Control-Flow Checking Using Watchdog assists and extended-precision checksums”, 19th International Symposium on Fault-Tolerant Computing, p. 428–435Google Scholar
  15. [SS83]
    Michael A. Schuette and John P. Shen: “On-line self monitoring using signatured instruction streams”, 13th International Test Conference, p. 275–282Google Scholar
  16. [SS91]
    Michael A. Schuette and John P. Shen: “Exploiting Instruction-level Resource Parallelism for Transparent, Integrated Control-Flow Monitoring”, 21th International Symposium on Fault-Tolerant Computing, p. 318–325Google Scholar
  17. [SSSZ86]
    M.A. Schuette, J.P. Shen, D.P. Siewiorek and Y.X. Zhu: “Experimental Evaluation of Two Concurrent Error Detection Schemes”, 16th International Symposium on Fault-Tolerant Computing, p. 138–143Google Scholar
  18. [WH90]
    Nancy J. Warter and Wen-Mei W. Hwu: “A Software Based Approach to Achieving Optimal Performance for Signature Control Flow Checking”, 20th International Symposium on Fault-Tolerant Computing, p. 442–449Google Scholar
  19. [Wil93]
    Kent D. Wilken: “An Optimal Graph-Construction Approach to Placing Program Signatures for Signature Monitoring”, IEEE Transactions on Computers, C-42(11): 1372–1380, November 1993Google Scholar
  20. [Wil96]
    Uwe Wildner: “Software Implemented Control Flow Error Injection” Tech. Report MPI-96-601, Max-Planck-Working Group on Fault Tolerant Computing, Jan. 1996, http://www.mpag-inf.uni-potsdam.de/reports/MPI-I-96-601.ps.gz Google Scholar
  21. [WS90]
    Kent Wilken and John Paul Shen: “Continuous Signature Monitoring: Low-Cost Concurrent Detection of Processor Control Errors”, IEEE Transactions on Computer-Aided Design of Integrated Circuits, 9(6):629–641, June 1990Google Scholar
  22. [YC75]
    Stephen. S. Yau an R. C. Cheung: “Design of Self-Checking Software”, International Conference on Reliable Software, March 1975Google Scholar
  23. [YC80]
    Stephen S. Yau and Fu-Chung Chen: “An Approach to Concurrent Control Flow Checking”, IEEE Transactions on Software Engineering SE 6(2): 126–137, March 1980Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Uwe Wildner
    • 1
  1. 1.Max-Planck-SocietyFault-Tolerant Computing Group at the University of PotsdamPotsdamGermany

Personalised recommendations