Test criteria for model-checking-assisted test case generation: A computational study

Test case generation is often cited as one of the most challenging tasks in testing dependable systems [9]. Besides benefits as a verification technique by its own right, model checking is emerging as an efficient method for automating test case generation. Existing testing criteria and a range of new criteria, namely the vacuity-based ones, inspired by formal requirements have been used in model-checking-assisted test generation. This paper reviews some of these existing and new test criteria. We developed a unified framework for evaluating the effectiveness of these test criteria and the efficiency of model-checking-assisted test generation for these criteria. The benefits of this work are three-fold: first, the computational study carried out in this work assesses the practical effectiveness and efficiency of model-checking-assisted test case generation, which are important metrics to consider for selecting the right test criteria and test generation approach. Second, we propose a unified test generation framework based on generalized Büchi automata. The framework uses the same off-the-shelf model checker, in this case, SPIN model checker [10], to generate test cases for different criteria and compare them on a consistent basis. Last but not least, we describe in great details the methodology and automated test generation environment that we developed on the basis of our unified framework. Such details are of interest to researchers who needs to carry out their own experimental study on test criteria, and to practitioners who want to integrate model-checking-assisted test generation into their testing process.

[1]  Angelo Gargantini,et al.  An Evaluation of Model Checkers for Specification Based Test Case Generation , 2009, 2009 International Conference on Software Testing Verification and Validation.

[2]  Insup Lee,et al.  A Temporal Logic Based Theory of Test Coverage and Generation , 2002, TACAS.

[3]  Helmut Veith,et al.  Tree-like counterexamples in model checking , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[4]  Edmund M. Clarke,et al.  Efficient generation of counterexamples and witnesses in symbolic model checking , 1995, DAC '95.

[5]  Yih-Kuen Tsay,et al.  GOAL: A Graphical Tool for Manipulating Büchi Automata and Temporal Formulae , 2007, TACAS.

[6]  G. S. Graham A New Solution of Dijkstra ' s Concurrent Programming Problem , 2022 .

[7]  Insup Lee,et al.  Data flow testing as model checking , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[8]  Angelo Gargantini,et al.  Using model checking to generate tests from requirements specifications , 1999, ESEC/FSE-7.

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

[10]  Willem Visser,et al.  Specification Centered Testing , 2004 .

[11]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[12]  Paul Ammann,et al.  Using model checking to generate tests from specifications , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[13]  Orna Kupferman,et al.  Vacuity Detection in Temporal Model Checking , 1999, CHARME.

[14]  Insup Lee,et al.  Specification-based testing with linear temporal logic , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[15]  Bruce S. Davie,et al.  Computer Networks: A Systems Approach, 3rd Edition , 2003 .

[16]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[17]  Willem Visser,et al.  Addressing dynamic issues of program model checking , 2001, SPIN '01.

[18]  Li Tan,et al.  State Coverage Metrics for Specification-Based Testing with Büchi Automata , 2011, TAP@TOOLS.

[19]  Thomas A. Henzinger,et al.  Generating tests from counterexamples , 2004, Proceedings. 26th International Conference on Software Engineering.

[20]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[21]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

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

[23]  Paul C. Jorgensen,et al.  Software Testing: A Craftsman's Approach , 1995 .

[24]  John Rushby,et al.  Using model checking to help discover mode confusions and other automation surprises , 2002, Reliab. Eng. Syst. Saf..

[25]  Sanjai Rayadurgam,et al.  Coverage based test-case generation using model checkers , 2001, Proceedings. Eighth Annual IEEE International Conference and Workshop On the Engineering of Computer-Based Systems-ECBS 2001.

[26]  Stefan Leue,et al.  Formalization and validation of the General Inter-ORB Protocol (GIOP) using PROMELA and SPIN , 2000, International Journal on Software Tools for Technology Transfer.

[27]  Stefan Leue,et al.  Validation of the General Inter-ORB Protocol (GIOP) Using the Spin Model-Checker , 1998 .