Using formal specifications as test oracles for system-critical software

The process used to validate, verify, and test flight avionics control systems has produced software that is highly reliable. However, ever greater demands for reliability require new automated tools to improve existing processes. We used the Anna (Annotated Ada) formal specification language and supporting tool set to develop a Test Range Oracle Tool (TROT) to automate the testing of equation execution. Our approach fits within the existing testing process, automates perviously manual analysis, and can increase the level of test coverage. The TROT approach also introduces the use of formal specification languages and supporting tools to an existing industry program. This approach supported production tests and is being expanded into other test support areas.

[1]  James M. Bieman,et al.  Adding formal specifications to a proven V&V process for system-critical flight software , 1995, Proceedings of 1995 IEEE Workshop on Industrial-Strength Formal Specification Techniques.

[2]  David C. Luckham,et al.  An Overview of Anna, a Specification Language for Ada , 1985, IEEE Software.

[3]  David C. Luckham Programming with Specifications: An Introduction to ANNA, A Language for Specifying Ada Programs , 1990 .

[4]  Paul Ammann,et al.  On the performance of software testing using multiple versions , 1990, [1990] Digest of Papers. Fault-Tolerant Computing: 20th International Symposium.

[5]  Martin Marietta,et al.  More efficient software testing through the application of design of experiments (DOE) , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[6]  James M. Bieman,et al.  DESIGNING FOR SOFTWARE TESTABILITY USING AUTOMATED ORACLES , 1992, Proceedings International Test Conference 1992.