On-line control flow error detection using relationship signatures among basic blocks

Computer systems operating in space environment are subject to different radiation phenomena, whose effects may lead to a control flow fault occurring in software system, which can cause unpredictable behaviors of computer-based systems. According to the specialty of space environment, We propose a technique called RSCFC (Relationship Signatures for Control Flow Checking) which is based on the partition of programs into basic blocks. Firstly, it exploits the relationship among the blocks, then assigns a signature, into which the relationship is coded, to each basic block. Control flow faults are detected through taking AND operation between the run-time signature and the location info of the current block with extra instructions induced at the beginning and the end of each block. A fault injection experiment was performed with several C benchmark programs. The result suggests that about 33% (20.7-68.8%) of the injected branching faults produced undetected incorrect outputs without RSCFC; however, with RSCFC, the above number declines to 11% (2.8-20.4%). Compared with previous techniques, RSCFC has the characteristics of both high fault coverage and low memory and performance overhead.

[1]  Edward J. McCluskey,et al.  Control-flow checking by software signatures , 2002, IEEE Trans. Reliab..

[2]  Y. Savaria,et al.  On the use of model checking for the verification of a dynamic signature monitoring approach , 2005, IEEE Transactions on Nuclear Science.

[3]  Y. Savaria,et al.  Software detection mechanisms providing full coverage against single bit-flip faults , 2004, IEEE Transactions on Nuclear Science.

[4]  Suku Nair,et al.  Design and Evaluation of System-Level Checks for On-Line Control Flow Error Detection , 1999, IEEE Trans. Parallel Distributed Syst..

[5]  Edward J. McCluskey,et al.  Control-Flow Checking Using Watchdog Assists and Extended-Precision Checksums , 1990, IEEE Trans. Computers.

[6]  David I. August,et al.  SWIFT: software implemented fault tolerance , 2005, International Symposium on Code Generation and Optimization.

[7]  Y. Savaria,et al.  SIED: software implemented error detection , 2003, Proceedings 18th IEEE Symposium on Defect and Fault Tolerance in VLSI Systems.

[8]  Massimo Violante,et al.  Soft-error detection using control flow assertions , 2003, Proceedings 18th IEEE Symposium on Defect and Fault Tolerance in VLSI Systems.

[9]  Ravishankar K. Iyer,et al.  Hierarchical Error Detection in a Software Implemented Fault Tolerance (SIFT) Environment , 2000, IEEE Trans. Knowl. Data Eng..

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