Validated templates for specification of complex LTL formulas

Formal verification approaches that check software correctness against formal specifications have been shown to improve program dependability. Tools such as Specification Pattern System (SPS) and Property Specification (Prospec) support the generation of formal specifications. SPS has defined a set of patterns (common recurring properties) and scopes (system states over which a pattern must hold) that allows a user to generate formal specifications by using direct substitution of propositions into parameters of selected patterns and scopes. Prospec extended SPS to support the definition of patterns and scopes that include the ability to specify parameters with multiple propositions (referred to as composite propositions or CPs), allowing the specification of sequential and concurrent behavior. Prospec generates formal specifications in Future Interval Logic (FIL) using direct substitution of CPs into pattern and scope parameters. While substitution works trivially for FIL, it does not work for Linear Temporal Logic (LTL), a highly expressive language that supports specification of software properties such as safety and liveness. LTL is important because of its use in the model checker Spin, the ACM 2001 system Software Award winning tool, and NuSMV. This paper introduces abstract LTL templates to support automated generation of LTL formulas for complex properties in Prospec. In addition, it presents formal proofs and testing to demonstrate that the templates indeed generate the intended LTL formulas.

[1]  Ann Q. Gates,et al.  Prospec: Support for Elicitation and Formal Specification of Software Properties , 2003, Electron. Notes Theor. Comput. Sci..

[2]  Steve Roach,et al.  Automated Testing of LTL Formula Generation by Prospec , 2010, 2010 IEEE 12th International Symposium on High Assurance Systems Engineering.

[3]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[4]  Salamah Salamah,et al.  Verifying Pattern-Generated LTL Formulas: A Case Study , 2005, SPIN.

[5]  Salamah Salamah,et al.  A comparative study of a tool-based approach for teaching formal specifications , 2010, 2010 IEEE Frontiers in Education Conference (FIE).

[6]  Christopher C. White,et al.  Focus on Durability, PATH Research at the National Institute of Standards and Technology | NIST , 2001 .

[7]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[8]  Dominic M. Dousa THE UNIVERSITY OF TEXAS AT EL PASO , 2004 .

[9]  Zohar Manna,et al.  Completing the Temporal Picture , 1989, Theor. Comput. Sci..

[10]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[11]  Salamah Salamah,et al.  A Property Specification Tool for Generating Formal Specifications: Prospec 2.0 , 2008, SEKE.

[12]  Salamah Salamah,et al.  Towards Support for Software Model Checking: Improving the Efficiency of Formal Specifications , 2011, Adv. Softw. Eng..

[13]  John M. Rushby,et al.  Theorem Proving for Verification , 2000, MOVEP.

[14]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[15]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[16]  Volker Stolz,et al.  Temporal Assertions using AspectJ , 2006, Electron. Notes Theor. Comput. Sci..

[17]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[18]  Gregory Tassey,et al.  Prepared for what , 2007 .

[19]  Zohar Manna,et al.  Completing the Temporal Picture , 1991, Theor. Comput. Sci..

[20]  Salamah Salamah,et al.  A Technique for Using Model Checkers to Teach Formal Specifications , 2008, 2008 21st Conference on Software Engineering Education and Training.

[21]  Klaus Havelund,et al.  Model checking JAVA programs using JAVA PathFinder , 2000, International Journal on Software Tools for Technology Transfer.

[22]  Zhi-Wei Lin Network OAM requirements for the New York City transit network , 2004, IEEE Commun. Mag..

[23]  OSCAR A. MONDRAGÓN,et al.  Supporting Elicitation And Specification Of Software Properties Through Patterns And Composite Propositions , 2004, Int. J. Softw. Eng. Knowl. Eng..

[24]  David M. MacKenzie Designing safe software for medical devices , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).