Title :
Low-cost on-line fault detection using control flow assertions
Author :
Venkatasubramanian, Rajesh ; Hayes, John P. ; Murray, Brian T.
Author_Institution :
Adv. Comput. Archit. Lab., Michigan Univ., Ann Arbor, MI, USA
Abstract :
A control flow fault occurs when a processor fetches and executes an incorrect next instruction. Executable assertions, i.e., special instructions that check some invariant properties of a program, provide a powerful and low-cost method for on-line detection of hardware-induced control flow faults. We propose a technique called ACFC (Assertions for Control Flow Checking) that assigns an execution parity to a basic block, and uses the parity bit to detect faults. Using a graph model of a program, we classify control flow faults into skip, re-execute and multi-path faults. We derive some necessary conditions for these faults to manifest themselves as execution parity errors. To force a control flow fault to excite a parity error, the target program is instrumented with additional instructions. Special assertions are inserted to detect such parity errors. We have a developed a preprocessor that takes a C program as input and inserts ACFC assertions automatically. We have implemented a software-based fault injection tool SFIG which takes advantage of the GNU debugger. Fault injection experiments show that ACFC incurs less performance overhead (around 47%) and memory overhead (around 30%) than previous techniques, with no significant loss in fault coverage.
Keywords :
embedded systems; fault location; fault simulation; fault tolerant computing; transients; ACFC; GNU debugger; arbitrary user-inserted assertions; assertions for control flow checking; basic block; control flow assertions; control flow fault; embedded computer systems; executable assertions; execution parity errors; fault coverage; graph model; hardware-induced control flow faults; memory overhead; multipath fault; on-line fault detection; parity bit; performance overhead; program invariant properties; reexecute fault; skip fault; software-based fault injection tool; Automotive engineering; Computer architecture; Costs; Fault detection; Instruments; Laboratories; Performance loss; Registers; Rivers; Testing;
Conference_Titel :
On-Line Testing Symposium, 2003. IOLTS 2003. 9th IEEE
Print_ISBN :
0-7695-1968-7
DOI :
10.1109/OLT.2003.1214380