Abstract
For the detection of hardware operational faults in most safe systems static redundancy is used. Thus, in the most simple case we have the well known Duplex System. If design fault detection is required, design diversity in the software has to be used, too. We suggest the combined utilization of so called systematic diversity and design diversity in a time-redundant system instead of the structural redundant Duplex System. For this purpose two diversly designed and systematically transformed variants of an application program are executed sequentially on the same processor. We call this new approach a Virtual Duplex System. In this paper we investigate the safety of a Virtual Duplex System.We propose the use of software diversity techniques (i.e. systematic diversity) to detect nearly all hardware faults in this system. Transient faults are effectively detected through the time redundancy and permanent faults by the new software diversity approach. In addition software design faults and even compiler-, library-, operating system- and underlying hardware design faults can be detected. The proposed software techniques are either new or never considered systematically for the detection of hardware faults in a general purpose system environment with design diversity.
As an example the new systematic diversity technique ‘simple register permutation’ was applied on different application programs by means of a simple heuristic. The technique was evaluated experimentally by injecting permanent hardware faults with the fault injection tool ProFI and measuring the safety of Virtual Duplex Systems. The results are compared to systems that do not use special fault detection (Simplex Systems) and Virtual Duplex Systems that use pure design diversity. The experiments show that even by simple systematic diversity most permanent hardware faults are detected.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. A. Abraham, S. M. Thatte: Test Generation for microprocessors; IEEE Transactions on Computers, Vol. C-29, No. 6, Juni 1980, pp. 429–441.
Paul E. Ammann, John C. Knight: Data diversity: an approach to software fault tolerance; FTCS-17, conf. proc., IEEE, 1987, pp. 122–126.
Jean Arlat, Jean-Claude Laprie: On the dependability evaluation of high safety sytems; FTCS-15, conf. proc., IEEE, 1987, pp. 318–323.
Algirdas Avizienis: Fault-tolerance in computer systems; System reliability and integrity, Vol. 2, Infotech International, 1978, pp. 39–62
S. S. Brilliant, J. C. Knight, N. G. Leveson: The consistent comparison problem in n-version software; SIGSOFT software engineering notes, vol. 12, no. 1, acm, 1987, pp. 29–34.
Susan S. Brilliant, John C. Knight, Nancy G. Leveson: Analysis of Faults in an N-Version Software Experiment; IEEE Transactions on Software Engineering, Vol. 16, No. 2, February 1990, pp 238–247.
Liming Chen, Algirdas Avizienis: N-Version Programming: A Fault-Tolerance Approach to the Reliability of Software Operations; FTCS-8, conf. proc., IEEE, 1978, pp. 3–9.
Edward W. Czeck, Daniel P. Siewiorek: Effects of Transient Gate-Level Faults on Program Behavior; FTCS-20, conf. proc., IEEE, 1990, pp. 236–243.
H. Dücker: Ergebnisvalidierung und nebenläufige Hardwarefehlererkennung mittels systematisch erzeugter Diversität; Verlä\liche Informationssysteme, Vieweg, Braunschw. 1993, pp. 135–162.
H. Dücker, K. Echtle: Detection of design faults by diverse software in layered systems; 4th European workshop on dependable computing, EWDC-4, Prague, 1992 (available on request from the author).
K. Echtle, B. Hinz, T. Nikolov: On hardware fault diagnosis by diverse software; Hardware and software fault tolerance in parallel computing systems, Ellis Horwood Chichester 92, pp.313–325.
W. Hahn, M. Gössel: Pseudoduplication of floating point addition — a method of compiler generated checking of permanent harware faults; Conf. Proc. 9th anual IEE VLSI test symposium, 1991.
J. P. Kelly; Current experiences with fault tolerant software design; dependability through diverse formal specifications?; 4. int. GI-ITG-GMA-Conf. “Fehlertolerierende Rechensysteme”, Informatik-Fachberichte 214, Springer-Verlag, Heidelberg, 1989, pp. 134–149.
R. Konakovsky; Verfahren der vollständigen Fehlererkennung durch gezielten Einsatz von Diversität; Proze\rechner 1988, Informatik-Fachberichte 167, Springer 1988, pp. 281–290.
H. Kopetz, H. Kantz, G. Grünsteidl, P. Puschner, J. Reisinger: Tolerating Transient Faults in MARS; FTCS-20, conf. proc., IEEE, 1990, pp. 466–473.
Jaynarayan H. Lala, Linda S. Alger: Hardware and Software fault tolerance: a unified architectural approach; FTCS-18, conf. proc., IEEE, 1988, pp. 240–245.
J.C. Laprie, J. Arlat, C. Beounes, K. Kanoun, C. Hourtolle: Hardware-and software-fault tolerance: definition and analysis of architectural solutions; FTCS-17, conf. proc., IEEE, 1987, pp. 116–121.
Richard J. Lipton: New Directions in Testing; DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 2, 1991.
Günther Leber, Herman Kopez: Preliminary Results of the Validation of the MARS system by EMI Fault Injection; IEEE International Workshop on Fault and Error Injection for Dependability Validation of Computer Systems, 17–18 Juni, Göteborg, Schweden.
T. Lovric, K. Echtle: ProFI: Prozessor fault injection for dependability validation; IEEE Int. Workshop on Fault and Error Injection for Dependability Validation of Computer Systems, June 17–18, Göteborg, Sweden (available on request from the author).
T. Lovric, K. Echtle; Hardware and Software Fault Tolerance using Fail-Silent Virtual Duplex Systems; 1994 IEEE Workshop on Fault Tolerant and Distributed Systems, 13–14 June 1994, Texas.
Tomislav Lovric: Erkennung permanenter Hardwarefehler durch Entwurfsdiversität und systematische Diversität im Virtuellen Duplex-System; Universität Dortmund, interner Bericht 502 (available on request from the author).
H. Madeira, F. Moreira, M. Rela, P. Furtado, G. J. Silva: Pin-Level Fault Injection for Dependability Validation: Some Research Results at the University of Coimbra; IEEE Int. Workshop on Fault and Error Injection for Dependability Validation of Computer Systems, 17–18 Juni, Göteborg, Schweden.
Victor P Nelson, Bill D. Caroll: Reliability Modeling and General Redundancy Techniques; Tutorial: Fault Tolerant Computing, Chapter 2, IEEE, 1987, pp. 45–67.
Choong Gun Oh, Hee Yong Youn, Vijay K. Raj: Rearranged Hamming Checksum for Matrix Computations with Algorithm-Based Fault Tolerance; 1992 IEEE Workshop on Fault-Tolerant Parallel and Distributed Systems, pp. 185–192.
Behrooz Parhami: Optimal Algorithms for Exact, Inexact, and Approval Voting; Fault-tolerant computing symposium FTCS-22, conf. proc., IEEE, 1992, pp. 404–411.
H. H. Patel, L. Y. Fung: Concurrent Error Detection in ALU's by Recomputing with Shifted Operands; IEEE Transactions on computers, C-31, 1982, pp. 589–595
H. H. Patel, L. Y. Fung: Concurrent Error Detection in Multiply and Divide Arrays; IEEE Transactions on computers, C-32, 1983, pp. 417–422
Ronit Rubinfeld: A Mathematical Theorie of Self-Checking, Self Testing and Self Correcting Programms; doctoral thesis, Univ. Calif. Berkley, 1990.
Keith Scott, James W. Gault, David F. McAllister: Fault-tolerant software reliability modeling; Transactions on software engineering, vol. SE-13, no. 1, IEEE, 1987, pp. 3–14.
Udo Voges: Software-Diversität und ihre Modellierung; Informatik Fachberichte 224, Springer '89.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lovric, T. (1994). Systematic and design diversity — Software techniques for hardware fault detection. In: Echtle, K., Hammer, D., Powell, D. (eds) Dependable Computing — EDCC-1. EDCC 1994. Lecture Notes in Computer Science, vol 852. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58426-9_138
Download citation
DOI: https://doi.org/10.1007/3-540-58426-9_138
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58426-1
Online ISBN: 978-3-540-48785-2
eBook Packages: Springer Book Archive