Abstract-This paper introduces SymPLFIED, a program-level framework that allows specification of arbitrary error detectors and the verification of their efficacy against hardware errors. SymPLFIED comprehensively enumerates all transient hardware errors in registers, memory, and computation (expressed symbolically as value errors) that potentially evade detection and cause program failure. The framework uses symbolic execution to abstract the state of erroneous values in the program and model checking to comprehensively find all errors that evade detection. We demonstrate the use of SymPLFIED on a widely deployed aircraft collision avoidance application, tcas. Our results show that the SymPLFIED framework can be used to uncover hard-to-detect catastrophic cases caused by transient errors in programs that may not be exposed by random fault injection-based validation. Further, the errors exposed by the framework help us formulate a set of error detectors for the application to avoid the catastrophic case and other incorrect outcomes.
SymPLFIED REF uses symbolic execution to Fault Tolerance HPDC '17, June 26-30, 2017 , Washington, DC, USA abstract the state of corrupted values in the program to find hardto-detect fault injection locations that random fault-injection may reveal; this is limited to sequential integer programs.
SymPLFIED: Symbolic Program-Level Fault Injection and Error Detection Framework
IEEE Transactions on Computers
IEEE Transactions on Computers
Computer Science