Probabilistic abstraction for model checking: An approach based on property testing

The goal of model checking is to verify the correctness of a given program, on all its inputs. The main obstacle, in many cases, is the intractably large size of the program's transition system. Property testing is a randomized method to verify whether some fixed property holds on individual inputs, by looking at a small random part of that input. We join the strengths of both approaches by introducing a new notion of probabilistic abstraction, and by extending the framework of model checking to include the use of these abstractions. Our abstractions map transition systems associated with large graphs to small transition systems associated with small random subgraphs. This reduces the original transition system to a family of small, even constant-size, transition systems. We prove that with high probability, “sufficiently” incorrect programs will be rejected (ϵ-robustness). We also prove that under a certain condition (exactness), correct programs will never be rejected (soundness). Our work applies to programs for graph properties such as bipartiteness, k-colorability, or any ∃∀ first order graph properties. Our main contribution is to show how to apply the ideas of property testing to syntactic programs for such properties. We give a concrete example of an abstraction for a program for bipartiteness. Finally, we show that the relaxation of the test alone does not yield transition systems small enough to use the standard model checking method. More specifically, we prove, using methods from communication complexity, that the OBDD size remains exponential for approximate bipartiteness.

[1]  W. Hoeffding Probability Inequalities for sums of Bounded Random Variables , 1963 .

[2]  E. Szemerédi Regular Partitions of Graphs , 1975 .

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

[4]  A. P. Sistla,et al.  Automatic verification of finite-state concurrent systems using temporal logic specifications , 1986, TOPL.

[5]  Wolfgang Maass,et al.  On the communication complexity of graph properties , 1988, STOC '88.

[6]  Manuel Blum,et al.  Designing programs that check their work , 1989, STOC '89.

[7]  Manuel Blum,et al.  Self-testing/correcting with applications to numerical problems , 1990, STOC '90.

[8]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[9]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[10]  E. Clarke,et al.  Automatic Veriication of Nite-state Concurrent Systems Using Temporal-logic Speciications. Acm , 1993 .

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

[12]  Dana Ron,et al.  Property testing and its connection to learning and approximation , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

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

[14]  Ronitt Rubinfeld,et al.  Robust Characterizations of Polynomials with Applications to Program Testing , 1996, SIAM J. Comput..

[15]  Eyal Kushilevitz,et al.  Communication Complexity: Index of Notation , 1996 .

[16]  Dana Ron,et al.  Property Testing in Bounded Degree Graphs , 2002, STOC '97.

[17]  Dana Ron,et al.  Property testing and its connection to learning and approximation , 1998, JACM.

[18]  Dana Ron,et al.  A Sublinear Bipartiteness Tester for Bounded Degree Graphs , 1998, STOC '98.

[19]  Noga Alon,et al.  Efficient Testing of Large Graphs , 2000, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[20]  Svante Janson,et al.  Random graphs , 2000, Wiley-Interscience series in discrete mathematics and optimization.

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

[22]  W. T. Gowers,et al.  RANDOM GRAPHS (Wiley Interscience Series in Discrete Mathematics and Optimization) , 2001 .

[23]  Luca Trevisan,et al.  Three Theorems regarding Testing Graph Properties , 2001, Electron. Colloquium Comput. Complex..

[24]  Noga Alon,et al.  Testing k-colorability , 2002, SIAM J. Discret. Math..

[25]  Robert P. Kurshan,et al.  Model Checking and Abstraction , 2002, SARA.

[26]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[27]  M. Krivelevich E cient testing of large graphs , 2007 .