An SMT-Based Approach to Bounded Model Checking of Designs in Communicating State Transition Matrix

State Transition Matrix (STM) is a table-based modeling language for developing designs of software systems. Although widely accepted and used in software industry, there is lack of formal verification supports for conducting rigorous analysis to improve reliability of STM designs. In this paper, we present a symbolic encoding approach for STM designs that employ message passing as the means of communication, through which correctness of a STM design with respect to invariant properties could be Bounded Model Checked (BMC) by using Satisfiability Modulo Theories (SMT) solving techniques. We have built a prototype implementation of the proposed encoding and the state-of-the-art SMT solver -- Yices, is used in our experiments as a back-end tool to evaluate the effectiveness of our approach. In addition, two approaches for accelerating SMT solving by introducing additional knowledge are proposed and their effectiveness is shown by our preliminary experimental results.

[1]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

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

[3]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[4]  Tomohiro Shiraishi,et al.  An SMT-Based Approach to Bounded Model Checking of Designs in State Transition Matrix , 2011, IEICE Trans. Inf. Syst..

[5]  Ivan Porres,et al.  Model Checking Dynamic and Hierarchical UML State Machines , 2006 .

[6]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[7]  Armin Biere,et al.  Simple Bounded LTL Model Checking , 2004, FMCAD.

[8]  Keijo Heljanko,et al.  Symbolic Step Encodings for Object Based Communicating State Machines , 2008, FMOODS.

[9]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[10]  Jori Dubrovin Checking Bounded Reachability in Asynchronous Systems by Symbolic Event Tracing , 2010, VMCAI.

[11]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[12]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[13]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[14]  Alessandro Armando,et al.  Bounded Model Checking of Software Using SMT Solvers Instead of SAT Solvers , 2006, SPIN.

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

[16]  Tommi A. Junttila,et al.  Encoding Queues in Satisfiability Modulo Theories Based Bounded Model Checking , 2008, LPAR.

[17]  Tommi A. Junttila,et al.  Symbolic model checking of hierarchical UML state machines , 2008, 2008 8th International Conference on Application of Concurrency to System Design.