Proving Non-Inclusion of Büchi Automata based on Monte Carlo Sampling
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 𝖨𝖬𝖢^2, a specific algorithm for proving Büchi automata non-inclusion ℒ(𝒜) ⊈ℒ(ℬ), based on Grosu and Smolka's algorithm 𝖬𝖢^2 developed for Monte Carlo model checking against LTL formulas. The algorithm we propose takes M = ⌈lnδ / ln (1-ϵ) ⌉ random lasso-shaped samples from 𝒜 to decide whether to reject the hypothesis ℒ(𝒜) ⊈ℒ(ℬ), for given error probability ϵ and confidence level 1 - δ. With such a number of samples, 𝖨𝖬𝖢^2 ensures that the probability of witnessing ℒ(𝒜) ⊈ℒ(ℬ) 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 𝖨𝖬𝖢^2 is a fast and reliable way to find counterexamples to Büchi automata inclusion.
READ FULL TEXT