Abstract

The search for a proof of correctness and the search for counterexamples (bugs) are complementary aspects of verification. In order to maximize the practical use of verification tools it is better to pursue them at the same time. While this is well-understood in the termination analysis of programs, this is not the case for the language inclusion analysis of Büchi automata, where research mainly focused on improving algorithms for proving language inclusion, with the search for counterexamples left to the expensive complementation operation. In this paper, we present IMC2\mathsf{IMC}^2, a specific algorithm for proving Büchi automata non-inclusion L(A)⊈L(B)\mathcal{L}(\mathcal{A}) \not\subseteq \mathcal{L}(\mathcal{B}), based on Grosu and Smolka's algorithm MC2\mathsf{MC}^2 developed for Monte Carlo model checking against LTL formulas. The algorithm we propose takes M=⌈ln⁡δ/ln⁡(1−ε)⌉M = \lceil \ln δ/ \ln (1-ε) \rceil random lasso-shaped samples from A\mathcal{A} to decide whether to reject the hypothesis L(A)⊈L(B)\mathcal{L}(\mathcal{A}) \not\subseteq \mathcal{L}(\mathcal{B}), for given error probability εε and confidence level 1−δ1 - δ. With such a number of samples, IMC2\mathsf{IMC}^2 ensures that the probability of witnessing L(A)⊈L(B)\mathcal{L}(\mathcal{A}) \not\subseteq \mathcal{L}(\mathcal{B}) via further sampling is less than δδ, under the assumption that the probability of finding a lasso counterexample is larger than εε. Extensive experimental evaluation shows that IMC2\mathsf{IMC}^2 is a fast and reliable way to find counterexamples to Büchi automata inclusion.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.