Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
On the communication complexity of graph properties
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
Self-testing/correcting with applications to numerical problems
Journal of Computer and System Sciences - Special issue: papers from the 22nd ACM symposium on the theory of computing, May 14–16, 1990
Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Designing programs that check their work
Journal of the ACM (JACM)
Communication complexity
Property testing and its connection to learning and approximation
Journal of the ACM (JACM)
Model checking
Symbolic Model Checking
Robust Characterizations of Polynomials withApplications to Program Testing
SIAM Journal on Computing
SIAM Journal on Discrete Mathematics
Three theorems regarding testing graph properties
Random Structures & Algorithms
Statistical model checking: an overview
RV'10 Proceedings of the First international conference on Runtime verification
Verification of an AFDX infrastructure using simulations and probabilities
RV'10 Proceedings of the First international conference on Runtime verification
Statistical abstraction and model-checking of large heterogeneous systems
FMOODS'10/FORTE'10 Proceedings of the 12th IFIP WG 6.1 international conference and 30th IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Statistical model checking, refinement checking, optimization, … for stochastic hybrid systems
FORMATS'12 Proceedings of the 10th international conference on Formal Modeling and Analysis of Timed Systems
Statistical model checking qos properties of systems with SBIP
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Runtime verification of biological systems
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Hi-index | 0.00 |
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.