DocumentCode
1550682
Title
CEDA: Control-Flow Error Detection Using Assertions
Author
Vemu, Ramtilak ; Abraham, Jacob A.
Author_Institution
Intel Corp., Chandler, AZ, USA
Volume
60
Issue
9
fYear
2011
Firstpage
1233
Lastpage
1245
Abstract
This paper presents an efficient software technique, control-flow error detection through assertions (CEDA), for online detection of control-flow errors. Extra instructions are automatically embedded into the program at compile time to continuously update runtime signatures and to compare them against preassigned values. The novel method of computing runtime signatures results in a huge reduction in the performance overhead, as well as the ability to deal with complex programs and the capability to detect subtle control-flow errors. The widely used C compiler, GCC, has been modified to implement CEDA, and the SPEC benchmark programs were used as the target to compare with earlier techniques. Fault injection experiments were used to demonstrate the effect of control-flow errors on software and to evaluate the fault detection capabilities of CEDA. Based on a new comparison metric, method efficiency, which takes into account both error coverage and performance overhead, CEDA is found to be much better than previously proposed methods.
Keywords
error detection; program compilers; program debugging; software fault tolerance; C compiler; CEDA; GCC; assertions; automatic embedded instructions; error coverage; fault injection; online control-flow error detection; runtime signatures; Hardware; Kernel; Linux; Program processors; Unified modeling language; Control-flow errors; error detection; fault tolerance; software-based detection.;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2011.101
Filename
5871589
Link To Document