TY - JOUR
T1 - Automated derivation of application-aware error detectors using static analysis
T2 - The trusted illiac approach
AU - Pattabiraman, Karthik
AU - Kalbarczyk, Zbigniew
AU - Iyer, Ravishankar K.
N1 - Funding Information:
This work was supported in part by US National Science Foundation (NSF) grants CNS-0406351, CNS-0524695, and CNS-05-51665, the Gigascale Systems Research Center (GSRC/MARCO), Motorola Corporation as part of the Motorola Center for Communications (UIUC), and Boeing Corporation as part of Boeing Trusted Software Center at the Information Trust Institute. The authors thank Fran Baker for editorial support.
PY - 2011
Y1 - 2011
N2 - This paper presents a technique to derive and implement error detectors to protect an application from data errors. The error detectors are derived automatically using compiler-based static analysis from the backward program slice of critical variables in the program. Critical variables are defined as those that are highly sensitive to errors, and deriving error detectors for these variables provides high coverage for errors in any data value used in the program. The error detectors take the form of checking expressions and are optimized for each control-flow path followed at runtime. The derived detectors are implemented using a combination of hardware and software and continuously monitor the application at runtime. If an error is detected at runtime, the application is stopped so as to prevent error propagation and enable a clean recovery. Experiments show that the derived detectors achieve low-overhead error detection while providing high coverage for errors that matter to the application.
AB - This paper presents a technique to derive and implement error detectors to protect an application from data errors. The error detectors are derived automatically using compiler-based static analysis from the backward program slice of critical variables in the program. Critical variables are defined as those that are highly sensitive to errors, and deriving error detectors for these variables provides high coverage for errors in any data value used in the program. The error detectors take the form of checking expressions and are optimized for each control-flow path followed at runtime. The derived detectors are implemented using a combination of hardware and software and continuously monitor the application at runtime. If an error is detected at runtime, the application is stopped so as to prevent error propagation and enable a clean recovery. Experiments show that the derived detectors achieve low-overhead error detection while providing high coverage for errors that matter to the application.
KW - Error checking
KW - and fault tolerance
KW - fault tolerance.
KW - reconfigurable hardware
KW - reliability
KW - software engineering (reliability)
KW - testing
UR - http://www.scopus.com/inward/record.url?scp=78649383888&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=78649383888&partnerID=8YFLogxK
U2 - 10.1109/TDSC.2009.23
DO - 10.1109/TDSC.2009.23
M3 - Article
AN - SCOPUS:78649383888
SN - 1545-5971
VL - 8
SP - 44
EP - 57
JO - IEEE Transactions on Dependable and Secure Computing
JF - IEEE Transactions on Dependable and Secure Computing
IS - 1
M1 - 5089331
ER -