Tree-like counterexamples in model checking

Counter examples for specification violations provide engineers with important debugging information. Although counterexamples are considered one of the main advantages of model checking, state-of the art model checkers are restricted to relatively simple counterexamples, and surprisingly little research effort has been put into counterexamples. In this paper, we introduce a new general framework for counterexamples. The paper has three main contributions: (i) We determine the general form of ACTL counterexamples. To this end, we investigate the notion of counterexample and show that a large class of temporal logics beyond ACTL admits counterexamples with a simple tree-like transition relation. We show that the existence of tree-like counterexamples is related to a universal fragment of extended branching time logic based on w-regular temporal operators. (ii) We present new symbolic algorithms to generate tree-like counterexamples for ACTL specifications. (iii) Based on tree-like counterexamples we extend the abstraction refinement methodology developed recently by Clarke et al. (CAV'2000) to full ACTL. This demonstrates the conceptual simplicity and elegance of tree-like counterexamples.

[1]  Georg Gottlob,et al.  On ACTL Formulas Having Linear Counterexamples , 2001, J. Comput. Syst. Sci..

[2]  Monika Maidl,et al.  The Common Fragment of CTL and LTL , 2000, FOCS.

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

[4]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[5]  Orna Grumberg,et al.  Buy One, Get One Free!!! , 1994, J. Log. Comput..

[6]  Wolfgang Thomas,et al.  Computation Tree Logic CTL* and Path Quantifiers in the Monadic Theory of the Binary Tree , 1987, ICALP.

[7]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[8]  Wolfgang Thomas,et al.  Languages, Automata, and Logic , 1997, Handbook of Formal Languages.

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

[10]  M. Maidi The common fragment of CTL and LTL , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

[11]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[12]  Mads Dam CTL* and ECTL* as Fragments of the Modal mu-Calculus , 1994, Theor. Comput. Sci..

[13]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[14]  Edmund M. Clarke,et al.  A Synthesis of Two Approaches for Verifying Finite State Concurrent Systems , 1989, J. Log. Comput..

[15]  Robert K. Brayton,et al.  BDD-Based Debugging Of Design Using Language Containment and Fair CTL , 1993, CAV.

[16]  Alberto L. Sangiovanni-Vincentelli,et al.  An Iterative Approach to Language Containment , 1993, CAV.

[17]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[18]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[19]  Mads Dam,et al.  CTL* and ECTL* as Fragments of the Modal µ-Calculus , 1992, CAAP.

[20]  Pierre Wolper,et al.  Reasoning About Infinite Computations , 1994, Inf. Comput..

[21]  Ludwig Staiger,et al.  Ω-languages , 1997 .