Model Checking Process with Goal Oriented Requirements Analysis

Model checking is a powerful technique for verifying the correctness of a systempsilas specification. But even when the specification has been verified to be correct, there is still the question of whether the specification covers all the expected behaviors. One of the most important issues for verification is the sufficiency of verification items. In model checking, specification-level properties such as reachability are well-studied, but the sufficiency of a specification against the preceding requirements still remains a challenge.In this paper, we propose a model-checking process with goal oriented requirements analysis, in which goal descriptions in a natural language are systematically refined into linear temporal logic formulae. Furthermore, the coverage of the verification result can be evaluated against the goal model. We developed a tool that supports the process, and applied it to an example. This process lowers the technical barriers to model checking and improves the sufficiency of system verification.

[1]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[2]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[3]  Marco Pistore,et al.  Model checking early requirements specifications in Tropos , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[4]  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).

[5]  Rik Eshuis,et al.  Requirements-Level Semantics and Model Checking of Object-Oriented Statecharts , 2002, Requirements Engineering.

[6]  Michael Breen Experience of using a lightweight formal specification method for a commercial embedded system product line , 2004, Requirements Engineering.

[7]  Axel van Lamsweerde,et al.  Deriving operational software specifications from system goals , 2002, SIGSOFT '02/FSE-10.

[8]  Orna Kupferman,et al.  Coverage metrics for temporal logic model checking* , 2006, Formal Methods Syst. Des..

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

[10]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[11]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[12]  David Notkin,et al.  Optimizing Symbolic Model Checking for Statecharts , 2001, IEEE Trans. Software Eng..

[13]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[14]  Philippe Massonet,et al.  Early verification and validation of mission critical systems , 2005, Formal Methods Syst. Des..

[15]  Yasuyuki Tahara,et al.  Top SE: Educating Superarchitects Who Can Apply Software Engineering Tools to Practical Development in Japan , 2007, 29th International Conference on Software Engineering (ICSE'07).

[16]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[17]  Gerard J. Holzmann Formal methods and software reliability , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[18]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[19]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.