Title :
Method for designing and placing check sets based on control flow analysis of programs
Author :
Geoghegan, Sean J. ; Avresky, D.R.
Author_Institution :
Dept. of Comput. Sci., Texas A&M Univ., College Station, TX, USA
fDate :
30 Oct-2 Nov 1996
Abstract :
Proposes a formal approach for adding fault detection to software. An assertion-based formalism is used to represent algorithm specifications. This representation is then used to generate a flowgraph or decision-to-decision graph (ddgraph), which is used to construct an execution path tree. The information gained from this algorithm representation is used to aid in the design of software-based fault tolerance techniques. Algorithm-based fault tolerance (ABFT) techniques are used to detect data structure-corrupting faults and checks are added to detect program flow errors. Flowgraph and ddgraph representations provide information to predict future program flow from the current flow. During execution, the current program location is recorded, along with the expected flow. Checks are placed to verify that the program flow follows the predicted flow. Fault coverage has been estimated through experiments with SOFIT (SOftware-based Fault Injection Tool), and the data is presented to demonstrate the effectiveness of the method
Keywords :
data structures; program control structures; program diagnostics; program verification; software fault tolerance; software tools; trees (mathematics); SOFIT; algorithm representation; algorithm specifications; algorithm-based fault tolerance techniques; assertion-based formalism; check set placement; current program location; data structure-corrupting fault detection; decision-to-decision graph; execution path tree; fault coverage estimation; flowgraph; future program flow prediction; program control flow analysis; program flow error detection; software fault detection; software-based fault injection tool; Application software; Computer errors; Computer science; Data structures; Design methodology; Encoding; Fault detection; Fault tolerance; Hardware; Software algorithms;
Conference_Titel :
Software Reliability Engineering, 1996. Proceedings., Seventh International Symposium on
Conference_Location :
White Plains, NY
Print_ISBN :
0-8186-7707-4
DOI :
10.1109/ISSRE.1996.558838