Building a new CTL model checker using Web services

This Computation Tree Logic (CTL) is widely used to capture compositions of reactive systems. Model checking is particularly well-suited for the automated verification of finite-state systems, both for software and for hardware. A CTL model checker tool allows designers to automatically verify that systems satisfy specifications expressed in the language of CTL logic. In this paper we present a new CTL model checker implemented in client-server paradigm. CTL Designer, the client tool, allows an interactive construction of the CTL models as state-transition graphs. Java and C# APIs are provided for programmatic construction of large models. The server part of our tool embeds the core of the CTL model checker and is published as a Web service. The performance evaluation in terms as speed and scalability was accomplished implementing an algorithm to find a winning strategy in the Tic-Tac-Toe game.

[1]  Fausto Giunchiglia,et al.  NUSMV: a new symbolic model checker , 2000, International Journal on Software Tools for Technology Transfer.

[2]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[3]  Stephan Merz,et al.  Model Checking , 2000 .

[4]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[5]  Lubos Brim,et al.  DiVinE: Parallel Distributed Model Checker , 2010, 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology.

[6]  Jürgen Ebert A versatile data structure for edge-oriented graph algorithms , 1987, CACM.

[7]  Alan J. Hu,et al.  Techniques for efficient formal verification using binary decision diagrams , 1995 .

[8]  Flavio Lerda,et al.  Symbolic Model Checking of Software , 2003, SoftMC@CAV.

[9]  Teodor Rus Algebraic construction of compilers , 1991 .

[10]  Sofiène Tahar,et al.  Modeling and verification of embedded systems using Cadence SMV , 2000, 2000 Canadian Conference on Electrical and Computer Engineering. Conference Proceedings. Navigating to a New Era (Cat. No.00TH8492).

[11]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[12]  Moshe Y. Vardi Experimental Evaluation of Explicit and Symbolic Automata-Theoretic Algorithms , 2022 .

[13]  Flavio Lerda,et al.  Distributed-Memory Model Checking with SPIN , 1999, SPIN.

[14]  Lubos Brim,et al.  Scalable shared memory LTL model checking , 2010, International Journal on Software Tools for Technology Transfer.

[15]  Doron A. Peled,et al.  Comparing Symbolic and Explicit Model Checking of a Software System , 2002, SPIN.

[16]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[17]  Valentin Goranko,et al.  Logic in Computer Science: Modelling and Reasoning About Systems , 2007, J. Log. Lang. Inf..

[18]  Gaurav Singh,et al.  Industrial Strength Distributed Explicit State Model Checking , 2010, 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology.

[19]  Petr Ročkai,et al.  DiVinE: Parallel Distributed Model Checker (Tool paper) , 2010 .