Testing with Büchi Automata: Transition Coverage Metrics, Performance Analysis, and Property Refinement

Buchi automaton is one of the most commonly used formalisms for specifying and reasoning linear temporal properties. It is instrumental for developing model-checking algorithms for linear temporal logics. Until now Buchi automaton-based specification is primarily used in linear temporal logic model checking. In this paper, we develop test criteria and techniques essential for testing upon specifications in Buchi automata. These criteria measure the semantic relevancy of test cases to a requirement in Buchi automaton. We define the “weak” and “strong” variants of the criteria based on a test suite’s coverage on the transitions of a Buchi automaton. These criteria may be used to measure the quality of existing test cases with respect to requirements in Buchi automaton, and to drive test-case generation. We develop two algorithms that use an off-the-shelf model checker to automate test-case generation for the proposed test criteria. In our extended computational study we deploy two methodologies to measure the effectiveness of our approach. First, we measure the cross coverage of the transition coverage criteria against other existing test criteria. Second, we use a fault-injection technique to measure the sensitivity of our approach. In both cases, our approach shows a better performance compared with existing test criteria, and a good sensitivity in detecting errors systematically injected to a system. Furthermore, the proposed criteria uncover not only the deficiency of a test suite with respect to a linear temporal requirement, but also that of the requirement itself. We propose an algorithm to refine the requirement using the feedback from test-case generation.

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

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

[3]  Moshe Y. Vardi Automata-Theoretic Model Checking Revisited , 2007, VMCAI.

[4]  Dimitra Giannakopoulou,et al.  From States to Transitions: Improving Translation of LTL Formulae to Büchi Automata , 2002, FORTE.

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

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

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

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

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

[10]  Orna Kupferman,et al.  Vacuity detection in temporal model checking , 2003, International Journal on Software Tools for Technology Transfer.

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

[12]  Andreas Krämer,et al.  Model-Based Testing of Automotive Systems , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[13]  Ajitha Rajan,et al.  Coverage metrics for requirements-based testing , 2006, ISSTA '06.

[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]  Yih-Kuen Tsay,et al.  GOAL: A Graphical Tool for Manipulating Büchi Automata and Temporal Formulae , 2007, TACAS.

[16]  Angelo Gargantini,et al.  A Logic-Based Approach to Combinatorial Testing with Constraints , 2008, TAP.

[17]  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).

[18]  Steven P. Miller,et al.  Applicability of modified condition/decision coverage to software testing , 1994, Softw. Eng. J..

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

[20]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[21]  Mauro Pezzè,et al.  Software testing and analysis - process, principles and techniques , 2007 .