Executable assertions and timed traces for on-line software error detection

The topic of this paper is the detection of errors due to residual faults in software, particularly those with temporary effects. After positioning our approach amongst existing fault tolerance and detection techniques, we propose detection mechanisms for such errors. These mechanisms are designed to detect both data and control flow errors. They can be validated by both formal and fault-injection techniques. In particular, we propose a timed trace technique allowing one to specify the expected software behavior and to instantiate from this specification a generic control-flow checking automaton. The critical algorithms of this automaton are formally proved. To develop these mechanisms, we also propose a design and validation method based on a monitoring specification. Finally, we apply these techniques on two cases of embedded real-time software in order not only to validate them but also to estimate their efficiency and applicability.

[1]  Tullio Vardanega,et al.  On the development of fault-tolerant on-board control software and its evaluation by fault injection , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[2]  Jean Arlat,et al.  Fault injection for dependability validation of fault-tolerant computing systems , 1989, [1989] The Nineteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[3]  J.M. Ayache,et al.  OBSERVER A CONCEPT FOR ON-LINE DETECTION OF CONTROL ERRORS IN CONCURRENT SYSTEMS , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, ' Highlights from Twenty-Five Years'..

[4]  Stephen S. Yau,et al.  An Approach to Concurrent Control Flow Checking , 1980, IEEE Transactions on Software Engineering.

[5]  C. V. Ramamoorthy,et al.  Optimal placement of software monitors aiding systematic testing , 1975, IEEE Transactions on Software Engineering.

[6]  J. N. Chelotti,et al.  A software fault tolerance experiment for space applications , 1990, [1990] Digest of Papers. Fault-Tolerant Computing: 20th International Symposium.

[7]  Matthew K. O. Lee,et al.  The B-Method , 1991, VDM Europe.

[8]  Brian Randell System structure for software fault tolerance , 1975 .

[9]  David J. Lu Watchdog Processors and Structural Integrity Checking , 1982, IEEE Transactions on Computers.

[10]  Algirdas Avizienis,et al.  The N-Version Approach to Fault-Tolerant Software , 1985, IEEE Transactions on Software Engineering.

[11]  Edward J. McCluskey,et al.  Concurrent Error Detection Using Watchdog Processors - A Survey , 1988, IEEE Trans. Computers.

[12]  Nancy G. Leveson,et al.  The Use of Self Checks and Voting in Software Error Detection: An Empirical Study , 1990, IEEE Trans. Software Eng..

[13]  Edward J. McCluskey,et al.  Executable assertions and flight software , 1984 .