An experience report on requirements reliability engineering using formal methods

Studies show that early stages of the system development life cycle are especially prone to errors. Problems which originate in early stages can have a lasting influence on the reliability, safety, and cost of a system. The National Aeronautics and Space Administration (NASA) is investigating the use and effectiveness of Formal Methods (FM) in trial projects to improve the quality of software and system requirements. The study reports on the application of FM to the Failure Detection, Isolation, and Recovery (FDIR) system for the Space Station. Abstraction, type checking formal specification, and proof were used to assess the adequacy of several related views of the FDIR requirements. Results indicate that abstraction revealed underlying conceptual simplicity that was hard to recognize in the original description. Furthermore, the use of automated formal methods tools permitted rapid and comprehensive consistency checks which would have been impractical manually. We believe the analysis methodology outlined in the paper is a cost effective way to help ensure that requirements will be interpreted correctly by system designers.