Monte carlo model checking

  • Authors:
  • Radu Grosu;Scott A. Smolka

  • Affiliations:
  • Dept. of Computer Science, Stony Brook Univ., Stony Brook, NY;Dept. of Computer Science, Stony Brook Univ., Stony Brook, NY

  • Venue:
  • TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present MC2, what we believe to be the first randomized, Monte Carlo algorithm for temporal-logic model checking. Given a specification S of a finite-state system, an LTL formula ϕ, and parameters ε and δ, MC2 takes M = ln (δ) / ln (1 – ε) random samples (random walks ending in a cycle, i.e lassos) from the Büchi automaton B=BS ×B¬ϕ. to decide if L(B) = ∅. Let pZ be the expectation of an accepting lasso in B. Should a sample reveal an accepting lasso l, MC2 returns false with l as a witness. Otherwise, it returns true and reports that the probability of finding an accepting lasso through further sampling, under the assumption that pZ ≥ ε, is less than δ. It does so in time O(MD) and space O(D), where D is B's recurrence diameter, using an optimal number of samples M. Our experimental results demonstrate that MC2 is fast, memory-efficient, and scales extremely well.