Test Reactive Systems with Buchi Automata: Acceptance Condition Coverage Criteria and Performance Evaluation

Buchi automata have been used to specify and reason linear temporal requirements of reactive systems. A reactive system interacts with its environment constantly, and its executions may be modeled as infinite words. A key question in testing a reactive system is how to make testing relevant to the system's requirement, that is, to focus testing on the required behaviors in terms of infinite words. We propose a specification-based testing technique that tests a reactive system with respect to its requirements in Buchi automaton. At the core of our approach are metrics measuring how well a test suite covers the acceptance condition of a büchi automaton. Acceptance condition is a key element of büchi automaton defining infinite words. We propose weak and strong variants of coverage metrics and their related test criteria for applications requiring tests of different strengths. We propose a model-checking-assisted algorithm to automate test case generation for proposed criteria. Besides debugging a system, our proposed approach may be used for revealing problems with system requirements. We propose an algorithm for refining a requirement encoded in Buchi automaton. Finally, we evaluate the performance of the proposed test criteria using cross-coverage comparison. The result indicates that our approach improves the effectiveness of testing with more efficient test cases targeted for system requirements.

[1]  Karl Meinke,et al.  Incremental Learning-Based Testing for Reactive Systems , 2011, TAP@TOOLS.

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

[3]  Li Tan,et al.  Test criteria for model-checking-assisted test case generation: A computational study , 2012, 2012 IEEE 13th International Conference on Information Reuse & Integration (IRI).

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

[5]  Jan Tretmans,et al.  Model Based Testing with Labelled Transition Systems , 2008, Formal Methods and Testing.

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

[7]  Li Tan,et al.  Specification-based testing with buchi automata: Transition coverage criteria and property refinement , 2014, Proceedings of the 2014 IEEE 15th International Conference on Information Reuse and Integration (IEEE IRI 2014).

[8]  Li Tan,et al.  A unified framework for evaluating test criteria in model-checking-assisted test case generation , 2014, Inf. Syst. Frontiers.

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

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

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

[12]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[13]  Thomas L. Harman The Student Edition of SIMULINK: Dynamic System Simulation for MATLAB , 1997 .

[14]  I. C. Wand,et al.  A.P.I.C. Studies in Data Processing , 1989 .

[15]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..

[16]  Paul C. Jorgensen Software testing - a craftsman's approach (3. ed.) , 2008 .

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