Improved Algorithms for the Automata-based Approach to Model-Checking
- L. Doyen (EPFL) and J.-F. Raskin (ULB)
TACAS 2007 Braga - Portugal March 28, 2007
Improved Algorithms for the Automata-based Approach to - - PowerPoint PPT Presentation
Improved Algorithms for the Automata-based Approach to Model-Checking L. Doyen (EPFL) and J.-F. Raskin (ULB) TACAS 2007 Braga - Portugal March 28, 2007 Automata-based approach to model-checking Programs and properties are formalized as
TACAS 2007 Braga - Portugal March 28, 2007
NBW is PSpace-Complete ;
(or easier than) to the complexity of many
algorithms to solve this language inclusion
complementation is difficult.
Vardi Wolper : simply exponential construction 2O(n2)
Vardi : 2O(nlogn) similar to Klarlund but more modular
Yan: slightly better lower bound (0.76n)n
Vardi: slightly better upper bound (0.97n)n
A forty year Saga (M. Vardi)
data structures and very low scalability (6 states);
(2003): use several optimisations (based on simulation equivalences) but very low scalability (6 states);
BDDs for checking universality but very low scalability (8 states).
(ABW) and alternating coBüchi word (AcoBW) automata
nondeterministic Büchi automata
δ(q,σ)= {q1,q2,..,qn}
δ(q,σ)= {{q1,q2,..,qn},{r1,r2,...,rm},...}
(ABW) and alternating coBüchi word (AcoBW) automata
nondeterministic Büchi automata
δ(q,σ)= {q1,q2,..,qn} equivalent to {{q1},{q2},..,{qn}}
δ(q,σ)= {{q1,q2,..,qn},{r1,r2,...,rm},...}
Input: A an NBW B an AcoBW that accepts the complement of A C an ABW that accepts the same language as B Output: D an NBW that accepts the same language as C
Input: A an NBW B an AcoBW that accepts the complement of A C an ABW that accepts the same language as B Output: D an NBW that accepts the same language as C
This step is trivial O(1)
δ’ defined as follows: for all q∈Q: for all σ∈Σ: if δ(q,σ)={{q1},{q2},...,{qn}} then δ’(q,σ) ={{q1,q2,...,qn}};
AcoBW on a word w is the tree that contains the set of all runs
iff all the runs of A are rejecting ;
This step is conceptually interesting and costs O(n2)
Input: A an NBW B an AcoBW that accepts the complement of A C an ABW that accepts the same language as B Output: D an NBW that accepts the same language as C
This step is conceptually simple but costs 2O(n)
Input: A an NBW B an AcoBW that accepts the complement of A C an ABW that accepts the same language as B Output: D an NBW that accepts the same language as C
level i: all paths has visited α at least once.
level j: all paths has visited α at least twice.
given by D=(2Qx2Q,({q0},∅), Σ,δ’,α’) where:
O’⊆S’, ∀q∈S: ∃T∈δ(q, σ):T⊆S’, and ∀q∈O: ∃T∈δ(q, σ):T⊆O’.
O’=S’, ∀q∈S: ∃T∈δ(q, σ):T⊆S’.
given by D=(2Qx2Q,({q0},∅), Σ,δ’,α’) where:
O’⊆S’, ∀q∈S: δ(q, σ)⊆S’, and ∀q∈O: δ(q, σ)⊆O’.
O’=S’, ∀q∈S: δ(q, σ)⊆S’.
given by D=(2Qx2Q,({q0,∅}, Σ,δ’,α’) where:
O’⊆S’, ∀q∈S: δ(q, σ)⊆S’, and ∀q∈O: δ(q, σ)⊆O’.
O’=S’, ∀q∈S: δ(q, σ)⊆S’.
construct D explicitely;
do not need to construct the complement of B but we need to check that L(A)∩Lc(B) is empty.
construct D explicitely;
need to construction the complement of B but we need to check that L(A)∩Lc(B) is empty.
To evaluate emptiness of A=(Q,q0,Σ,δ,α)
Let A= be a NBW, ≤⊆QxQ is a simulation pre-order iff for any q1, q2, q3 ∈ Q, for any σ∈Σ, q3 q2 q1 ≤ σ if
1)
Let A= be a NBW, ≤⊆QxQ is a simulation pre-order iff for any q1, q2, q3 ∈ Q, for any σ∈Σ, q3 q2 q1 ≤ σ if then there exists q4 ∈ Q s.t.: q4 σ ≤
1)
Let A= be a NBW, ≤⊆QxQ is a simulation pre-order iff for any q1, q2, q3 ∈ Q, for any σ∈Σ, q3 q2 q1 ≤ σ if then there exists q4 ∈ Q s.t.: q4 σ ≤
and, for any q1,q2∈Q: if q1≤q2 and q2∈α then q1∈α 1) 2)
Let A= be a NBW, ≤⊆QxQ is a simulation pre-order iff for any q1, q2, q3 ∈ Q, for any σ∈Σ, q3 q2 q1 ≤ σ if then there exists q4 ∈ Q s.t.: q4 σ ≤
and, for any q1,q2∈Q: if q1≤q2 and q2∈α then q1∈α 1) 2)
{q | q ≤ q1}
So, all the sets that we manipulate in
are ≤-closed.
So, all the sets that we manipulate in
are ≤-closed.
≤-closed sets can be represented symbolically by their maximal elements only
So, all the sets that we manipulate in
are ≤-closed.
≤-closed sets can be represented symbolically by their maximal elements only ≤-closed sets can be represented symbolically by their maximal elements only
We can potentially compute
The NBW that results from the KV procedure is equipped by construction with a simulation pre-order ≤. Idea: do not construct the huge NBW but check emptiness directly and evaluate the fixed point efficiently by exploiting the ≤-pre-order.
Hayashi construction specifies an NBW B= (2Qx2Q,({q0},∅}),Σ,δ’,α’).
(S,O) ≤ (S’,O’) iff (1) (O=∅ iff O’=∅) and (2) S⊆S’ and O⊆O’
is a simulation pre-order on B.
exponential number of elements in the size of S and O!
Hayashi construction specifies an NBW B= (2Qx2Q,({q0},∅}),Σ,δ’,α’).
(S,O) ≤ (S’,O’) iff (1) (O=∅ iff O’=∅) and (2) S⊆S’ and O⊆O’
is a simulation pre-order on B.
exponential number of elements in the size of S and O!
We can check emptiness of B by manipulating ≤-closed sets represented by their maximal elements only.
Hayashi construction specifies an NBW B= (2QxQ, ({q0},∅}), Σ,δ’,α’).
(S,O) ≤ (S’,O’) iff (1) (O=∅ iff O’=∅) and (2) S⊆S’ and O⊆O’
is a simulation pre-order on B.
exponential number of elements in the size of S and O!
We can check emptiness of B by manipulating ≤-closed sets represented by their maximal elements only. This potentially saves us an exponential !
Hayashi construction specifies an NBW B= (2QxQ, ({q0},∅}), Σ,δ’,α’).
(S,0) ≤ (S’,O’) iff (1) (O=∅ iff O’=∅) and (2) S⊆S’ and O⊆O’
is a simulation pre-order on B.
exponential number of elements in the size of S and O!
We can check emptiness of B by manipulating ≤-closed sets represented by their maximal elements only. This potentially saves us an exponential !
We have a polynomial time algorithm that given (S,O) and σ∈Σ, compute a compact representation of Pre(σ)(↓(S,O))
Input: A an NBW B an AcoBW that accepts the complement of A C an ABW that accepts the same language as B Output: D an NBW that accepts the same language as C
Input: A an NBW B an AcoBW that accepts the complement of A C an ABW that accepts the same language as B Output: D an NBW that accepts the same language as C
We evaluate the fixed point for emptiness directly, that is, without constructing the automaton specified by the construction. We evaluate this fixed point by manipulating ≤-closed sets through their maximal elements only.
universality of NBW;
by Tabakov and Vardi (2005) that generates random NBW (two parameters: r,f);
implementation can handle 6 states on the most difficult instances with median time <20s.
Table 1. Automata size for which the median execution time for checking universality is less than 20 seconds. The symbol ∝ means more than 1500.
f r
0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 0.1 ∝ ∝ ∝ 550 200 120 60 40 30 40 50 50 70 90 100 0.3 ∝ ∝ ∝ 500 200 100 40 30 40 70 100 120 160 180 200 0.5 ∝ ∝ ∝ 500 200 120 60 60 90 120 120 120 140 260 500 0.7 ∝ ∝ ∝ 500 200 120 70 80 100 200 440 1000 ∝ ∝ ∝ 0.9 ∝ ∝ ∝ 500 180 100 80 200 600 ∝ ∝ ∝ ∝ ∝ ∝
For r=2, f=0.5, Tabakov can handle 8 states while
Median Time (s) 12 8 4 f - accepting density 0.1 0.3 0.5 0.7 0.9 r - transition density 1.4 1.8 2.2 2.6 Median execution time
sample point.
To compare, Tabakov’s BDD implementation was able to handle automata of size 6 on the entire state space (within 20s as in our expermients).
keep implicit the complementation step and check for emptiness efficiently by exploiting simulation pre-orders that exists by construction ;
promising results: several orders of magnitude