Analyzing formal requirements specifications using an off-the-shelf model checker

We study the use of an off-the-shelf formal verification tool, namely the explicit-state model checker SPIN, for various analyses related to SCR (Software Cost Reduction) formal requirements specifications. Unlike other studies, where model checking is used for a specific purpose in the context of SCR analysis (e.g., test generation or invariant verification), we use the model checker as the only analysis tool, for consistency checking, completeness analysis, property verification, etc. Moreover, to assess our characterization of the various analyses in terms of model checking, we develop a case study (a pacemaker specification), more complex than those typically found in the SCR literature.

[1]  Constance L. Heitmeyer,et al.  Automatic generation of state invariants from requirements specifications , 1998, SIGSOFT '98/FSE-6.

[2]  Ian Sommerville,et al.  Software Engineering: (Update) (8th Edition) (International Computer Science) , 2006 .

[3]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[4]  Constance L. Heitmeyer,et al.  Model Checking Complete Requirements Specifications Using Abstraction , 2004, Automated Software Engineering.

[5]  David Lorge Parnas,et al.  A Formal Approach to Computer Systems Requirements Documentation , 1992, Hybrid Systems.

[6]  Tarun Jaiswal,et al.  Fundamentals of Software Engineering , 2017, Lecture Notes in Computer Science.

[7]  Tevfik Bultan,et al.  Applying infinite state model checking and other analysis techniques to tabular requirements specifications of safety-critical systems , 2008, Des. Autom. Embed. Syst..

[8]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[9]  Constance L. Heitmeyer,et al.  Consistency checking of SCR-style requirements specifications , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[10]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[11]  Myla Archer,et al.  Tools for constructing requirements specifications: the SCR Toolset at the age of nine , 2005, Comput. Syst. Sci. Eng..

[12]  Ian Sommerville,et al.  Software engineering, 8th Edition , 2007, International computer science series.

[13]  Pankaj Jalote,et al.  An Integrated Approach to Software Engineering , 1991, Springer Compass International.

[14]  Angelo Gargantini,et al.  Using model checking to generate tests from requirements specifications , 1999, ESEC/FSE-7.

[15]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[16]  Steve Sims,et al.  Salsa: Combining Constraint Solvers with BDDs for Automatic Invariant Checking , 2000, TACAS.

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

[18]  Thomas A. Henzinger,et al.  Generating tests from counterexamples , 2004, Proceedings. 26th International Conference on Software Engineering.