Formal verification of functional properties of a SCR-style software requirements specification using PVS

Industrial software companies developing safety-critical systems are required to use rigorous safety analysis techniques to demonstrate compliance to regulatory bodies. In this paper, we describe an approach to formal verification of functional properties of requirements for an embedded real-time software written in software cost reduction (SCR)-style language using PVS specification and verification system. Key contributions of the paper include development of an automated method of translating SCR-style requirements into PVS input language as well as identification of property templates often needed in verification. Using specification for a nuclear power plant system, currently in operation, we demonstrate how safety demonstration on requirements can be accomplished while taking advantage of assurance provided by formal methods.

[1]  Mandayam K. Srivas,et al.  Formal verification of the AAMP5 microprocessor: a case study in the industrial use of formal methods , 1995, Proceedings of 1995 IEEE Workshop on Industrial-Strength Formal Specification Techniques.

[2]  Bruno Dutertre,et al.  Formal Requirements Analysis of an Avionics Control System , 1997, IEEE Trans. Software Eng..

[3]  Bashar Nuseibeh,et al.  Lightweight validation of natural language requirements: a case study , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[4]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[5]  Robyn R. Lutz Targeting safety-related errors during software requirements analysis , 1993, SIGSOFT '93.

[6]  Sung Deok Cha,et al.  Automated structural analysis of SCR‐style software requirements specifications using PVS , 2001, Softw. Test. Verification Reliab..

[7]  Myla Archer,et al.  TAME: Using PVS strategies for special-purpose theorem proving , 2001, Annals of Mathematics and Artificial Intelligence.

[8]  John M. Rushby,et al.  From Refutation to Verification , 2000, FORTE.

[9]  Sung Deok Cha,et al.  Comment on: development of a safety critical software requirements verification method with combined CPN and PVS: a nuclear power plant protection system application , 2004, Reliability Engineering & System Safety.

[10]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[11]  Natarajan Shankar,et al.  Integration in PVS: Tables, Types, and Model Checking , 1997, TACAS.

[12]  Mandayam K. Srivas,et al.  A Tutorial Introduction to PVS , 1998 .

[13]  Poong-Hyun Seong,et al.  Development of a safety critical software requirements verification method with combined CPN and PVS: a nuclear power plant protection system application , 2003, Reliab. Eng. Syst. Saf..

[14]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[15]  Mandayam K. Srivas,et al.  Using PVS to Prove Some Theorems Of David Parnas , 1993, HUG.

[16]  Mark Lawford,et al.  Practical Application of Functional and Relational Methods for the Specification and Verification of Safety Critical Software , 2000, AMAST.

[17]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.