Formal Verification of Software Designs in Hierarchical State Transition Matrix with SMT-based Bounded Model Checking

Hierarchical State Transition Matrix (HSTM) is a table-based modeling language for developing designs of software systems. Although widely used and adopted by (particularly Japanese) software industry, there is still lack of mechanized formal verification supports for conducting rigorous and automatic analysis to improve reliability of HSTM designs. In this paper, we first present a formalization of HSTM designs as state transition systems. Consequentially, based on this formalization, we propose a symbolic encoding approach, through which correctness of a HSTM design with respect to LTL properties could be represented as Bounded Model Checking (BMC) problems that could be determined by Satisfiability Modulo Theories (SMT) solving. We have implemented our encoding approach in a tool called Garakabu2 with the state-of-the-art SMT solver CVC3 as its back-ended solver. Furthermore, in our preliminary experiments, a conceptually simple but steadily effective way of accelerating SMT solving for HSTM designs is investigated and reported.

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

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

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

[4]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[5]  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.

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

[7]  Nikolaj Bjørner,et al.  An SMT Approach to Bounded Reachability Analysis of Model Programs , 2008, FORTE.

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

[9]  Toby Walsh,et al.  Handbook of satisfiability , 2009 .

[10]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

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

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

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

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

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

[16]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

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