Abbott surveys various classical software techniques for ensuring system fault tolerance. He also presents the less widely known concept of “resourceful systems,” which adapt to changes in environment and preserve their functionality.
The survey is mostly complete, but sketchy in places. Some details may have been omitted because of space limitations. The author does omit one important aspect of software fault tolerance--application-oriented techniques for parallel computing systems and systolic arrays. Fault tolerance for multiple-computation processors is a growing area of study. Abbott sometimes confuses program proofs and verification, which could confuse the neophyte. Also, the analogy between logic programming languages and the concept of Recovery Blocks stretches a point. All in all, the paper is a good introduction for a class or seminar on the subject.