Extended state identification and verification using a model checker

This paper presents a method for the application of model checking, i.e. verifying a finite state system against a given temporal specification, to the problem of generating test inputs. The generated test inputs allow state characterization, i.e. the identification and verification of internal states of the software under test by observation of the input/output behavior only. A test model is derived semiautomatically from a given state based specification and the testing goal is specified in terms of temporal logic. On the basis of these inputs, a model checking tool performs the testing input generation automatically. In consequence, the complexity of our approach is depending on the input model, the testing goal, and the applied model checking algorithm. The presented approach can be adapted with small changes to other model checking tools. It is a capable test generation method, whenever a state based behavioral specification of the software under test exists. Furthermore, it provides a descriptive view on state based testing, which may be beneficial in other contexts, e.g. education and program comprehension.

[1]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[2]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[3]  Alexandre Petrenko,et al.  Confirming configurations in EFSM testing , 2004, IEEE Transactions on Software Engineering.

[4]  Alexandre Petrenko,et al.  Protocol testing: review of methods and relevance for software testing , 1994, ISSTA '94.

[5]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[6]  Z. Kohavi,et al.  Variable-Length Distinguishing Sequences and Their Application to the Design of Fault-Detection Experiments , 1968, IEEE Transactions on Computers.

[7]  David Lee,et al.  Testing Finite-State Machines: State Identification and Verification , 1994, IEEE Trans. Computers.

[8]  Hasan Ural,et al.  Formal methods for test sequence generation , 1992, Comput. Commun..

[9]  Deepinder P. Sidhu,et al.  Formal Methods for Protocol Testing: A Detailed Study , 1989, IEEE Trans. Software Eng..

[10]  Alexandre Petrenko,et al.  Confirming configurations in EFSM , 1999, FORTE.

[11]  F. C. Hennie Fault detecting experiments for sequential circuits , 1964, SWCT.

[12]  Robert M. Hierons,et al.  Expanding an extended finite state machine to aid testability , 2002, Proceedings 26th Annual International Computer Software and Applications.

[13]  Guney Gonenc,et al.  A Method for the Design of Fault Detection Experiments , 1970, IEEE Transactions on Computers.

[14]  Bapiraju Vinnakota,et al.  Fast state verification , 1998, DAC.

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

[16]  Michaela Huhn,et al.  Generation of Optimized Testsuites for UML Statecharts with Time , 2004, TestCom.

[17]  S. Seshu,et al.  Introduction to the theory of finite-state machines , 1963 .

[18]  Krishan K. Sabnani,et al.  A Protocol Test Generation Procedure , 1988, Comput. Networks.

[19]  Ferhat Khendek,et al.  Timed Wp-Method: Testing Real-Time Systems , 2002, IEEE Trans. Software Eng..

[20]  Peter Liggesmeyer,et al.  Generating optimal distinguishing sequences with a model checker , 2005, A-MOST.

[21]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[22]  Katalin Tarnay,et al.  Testing of Communicating Systems , 1999, IFIP — The International Federation for Information Processing.

[23]  C. Rattray,et al.  Specification and Verification of Concurrent Systems , 1990, Workshops in Computing.

[24]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[25]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[26]  M. Ümit Uyar,et al.  A method enabling feasible conformance test sequence generation for EFSM models , 2004, IEEE Transactions on Computers.