This paper evaluates the concurrent error detection capabilities of system-
level checks, using fault and error injection. The checks comprise applicat
ion and system level mechanisms to detect control flow errors. We propose E
nhanced Control-Flow Checking Using Assertions (ECCA). In ECCA, branch-free
intervals (BFI) in a given high or intermediate level program are identifi
ed and the entry and exit points of the intervals are determined. BFIs are
then grouped into blocks, the size of which is determined through a perform
ance/overhead analysis. The blocks are then fortified with preinserted asse
rtions. For the high level ECCA, we describe an implementation of ECCA thro
ugh a preprocessor that will automatically insert the necessary assertions
into the program. Then, we describe the intermediate implementation possibl
e through modifications made on gee to make it ECCA capable. The fault dete
ction capabilities of the checks are evaluated both analytically and experi
mentally. Fault injection experiments are conducted using FERRARI [1] to de
termine the fault coverage of the proposed techniques.