Specification-based testing with buchi automata: Transition coverage criteria and property refinement

Büchi automaton is instrumental in linear-temporal logic model checking. It has been used in formalizing linear temporal requirements as well as in designing model checking algorithms. In this work we extend Büchi automaton to the domain of specification-based testing. We developed test criteria and techniques essential for testing a system with formal requirements in Büchi automata. At the core of our approach are two Büchi-automaton-based test criteria that select test cases based on their relevancy to a requirement in Büchi automaton. The relevancy is based on the notion of transition coverage on Büchi automaton. We define "weak" and "strong" variants of transition coverage criteria that reflect the non-deterministic nature of a Büchi automaton. Our experiment demonstrates the effectiveness of the proposed transition coverage criteria by measuring cross-coverage of these transition coverage criteria versus other existing test criteria. To improve test efficiency, we provide model-checking-assisted algorithms that fully automate test vector generations for the transition coverage criteria. In addition, we propose property refinement using the feedback from the test generation algorithm. The benefits of our approach are two-fold: (1) it enables the effective and efficient testing with formal requirements in Büchi automata; and, (2) our approach is capable of not only finding bugs in a system, but also identifying deficiency in its requirements via property refinement.

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

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

[3]  Paul Ammann,et al.  A specification-based coverage metric to evaluate test sets , 1999, Proceedings 4th IEEE International Symposium on High-Assurance Systems Engineering.

[4]  Riccardo Sisto,et al.  Using SPIN to Verify Security Properties of Cryptographic Protocols , 2002, SPIN.

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

[6]  Angelo Gargantini,et al.  An Evaluation of Specification Based Test Generation Techniques Using Model Checkers , 2009, 2009 Testing: Academic and Industrial Conference - Practice and Research Techniques.

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

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

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

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

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

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

[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]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..

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

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

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

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

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

[21]  Giuseppe Di Battista,et al.  26 Computer Networks , 2004 .

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

[23]  N. Falconer Structured Programming , 1973, Nature.

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

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

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

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