Inter-processor messages use a reliable communications protocol. Test for errors during use, scheduled tests for equipment not frequently used or in standby mode. Test error detecting capabilities by inducing errors. Operational software can detect some hardware errors through in-line checks, and keep history to isolate error. Audits and defensive checks to reduce software errors.
Software reliability is obtained at the expense of real time performance.
Duplicate copies of data at two different locations to detect mutilation. Two-way linked lists. Maintain and check redundant status information. Positive decisions Limited use of GOTOs One entry point per module Check incoming buffered data for mutilation while in buffer. Audits check for resources in an invalid state and restore the resource to a valid state.