f syndrome testing in diagnostic algorithms or distributed agreement techniques for fault isolation are important for general fault tolerant systems. These techniques are applicable to the class of faults introduced by SEUs only to identify elements presenting malfunction as a consequence of such errors. 6.5.1.1 Acceptance Testing [Banatre93] [Kim92] [LaBel962] [Tso93] Several acceptance test techniques are employed in detecting the presence of faults, N- version programming, recovery blocks, self-checking software, and the watchdog coprocessor. N-version programming is intended as a provision to detect defects in software design, coding, and integration. Parallel or sequential execution of programs and comparing the results provides opportunity for fault detection, much in the same way as modular redundancy does for hardware fault detection provisions. The diversity of designs is intended to perceive design defects and does little to improve the transient fault detection capability. Completeness and exactness of the specification and synchronization of intermediate and final results checking are issues in the implementation of N-version programming. The self-checking software technique has aspects of functionality, control flow, and data in order to provide error detection. The functional and data aspects examine the reasonableness of the results, and may include an assessment of the input variables in performing acceptance testing of algorithm results. The capability provided by seemingly ad-hoc techniques in assessing the reasonableness of algorithm results is a powerful technique in the detection of computation errors. Validating the range of a result from a computation process, its change from previously computed results, and its consistency with input variables and other computed values have been shown to be effective error detection provisions. Establishing the bounds or acceptance range for computation results requires analysis of input variable ranges and other sources of error, such as the truncation or