Automated generation of finite state machine from object-oriented formal specifications

Finite state automata are widely used in specification-based testing. However, the existing specification- based testing techniques do not fully automate the generation of an FSM from a formal specification. Major challenges in automatic generation of FSM are the identification of disjoint states and transitions from the implicit pre- and postconditions of operations specified in a formal language like Z or Object-Z. It is important to extract pre- and postconditions from the specification because they form the basis for identification of pre- and post-states of the transitions of an FSM. In this paper, we present an automated approach to construction of an FSM from Object-Z formal specification. The proposed approach is supported by a tool and is also demonstrated on an example.

[1]  Leesa Murray,et al.  Formal Derivation of Finite State Machines for Class Testing , 1998, ZUM.

[2]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[3]  Robert M. Hierons Testing from a Z Specification , 1997, Softw. Test. Verification Reliab..

[4]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[5]  David A. Carrington,et al.  A Framework for Specification-Based Testing , 1996, IEEE Trans. Software Eng..

[6]  Miao Huai-kou,et al.  A test class framework for generating test cases from Z specifications , 2000 .

[7]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[8]  Aamer Nadeem,et al.  Automatic Extraction of Pre- and Postconditions from Z Specifications , 2008 .

[9]  Robert M. Poston Automating specification-based software testing , 1996 .

[10]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[11]  Ling Liu,et al.  An approach to formalizing specification-based class testing , 2006 .

[12]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[13]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[14]  John A. Clark,et al.  FORTEST: formal methods and testing , 2002, Proceedings 26th Annual International Computer Software and Applications.

[15]  Jun Sun,et al.  Extracting FSMs from Object-Z specifications with history invariants , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[16]  Graeme Smith,et al.  The object-Z specification language: version 1 , 1991 .

[17]  Jonathan Jacky,et al.  The Way of Z: Practical Programming with Formal Methods , 1996 .

[18]  Shaoying Liu,et al.  Generating test data from state‐based specifications , 2003, Softw. Test. Verification Reliab..

[19]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[20]  Michael R. Donat Automating Formal Specification-Based Testing , 1997, TAPSOFT.

[21]  Gregg Rothermel,et al.  Performing data flow testing on classes , 1994, SIGSOFT '94.