SBMC : Symmetric Bounded Model Checking
Brahim NASRAOUI
LIP2 and Faculty of
Sciences of Tunis
Campus Universitaire 2092 El Manar Tunis
Tunisia
brahim.nasraoui@gmail.com
Syrine AYADI
LIP2 and Faculty of
Sciences of Tunis
Campus Universitaire 2092 El Manar Tunis
Tunisia
syrine.ayadi@ensi.rnu.tn
Riadh ROBBANA
LIP2 and Polytechnic
School of Tunisia
B.P. 743 - 2078 La Marsa
Fax : +21671748843
Tunisia
riadh.robbana@fst.rnu.tn
This paper deals with systems verification techniques, using Bounded Model Checking (BMC). We present a
new approach that combines BMC with symmetry reduction techniques. Our goal is to reduce the number of
transition sequences, which can be handled by a SAT solver, used in the resolution of verification problems.
In this paper, we generate a reduced model by exploiting the symmetry of the original model,which contains
only transition sequences that represent the equivalence classes of the symmetric transition sequences.
We consider the construction of a new Boolean formula that manipulates only representative transition
sequences. In our technique, we present a method that combines the symmetry reduction technique with
BMC for the reduction of the space and time of Model Checking.
Model Checking; Symmetry reduction; SAT; Boolean Formula; Bounded Model Checking; Formal methods.
1. INTRODUCTION
symbolic model checking: Emerson et al (1996);
Clarke et al (1996, 1998); Jha (1996); Barner et
al (2002); Emerson et al (2003). In the symmetric
system, two states are considered equivalents if
they have the same behavior. Many works have
applied symmetry based reduction methods for
model checking concurrent systems, Vardi (1996);
Clarke et al (1993).This method has been shown
to be an effective technique in both explicit and
symbolic model checking, which exploits the fact that
many systems are composed by interchangeable
components, and therefore it may be sufficient to
consider a smaller version of the symmetrical state
space, called the reduced model.
The basic idea behind the reduction of symmetry is
to partition the state space into equivalence classes
and to choose one or more representatives from
each equivalence class in the model during model
checking. Previous studies have shown reductions in
both memory and time consumption when exploiting
symmetries in model checking.
Symmetry reduction in explicit model checking
reduce the state space in the initial model as in
Emerson et al (1996). Many works have considered
the combination of symmetry reduction with
symbolic model checking based on BDD,in Clarke
et al (1996); Barner et al (2002); Emerson et al
(2003). They construct an orbit relation to generate
the reduced model and they choose a unique
representative for each orbit. The computation of
The main challenge behind model checking is the
state explosion problem. Kupferman et al (2000)
describe how the classic methods are unable to
check properties on large systems in a reasonable
time. Historically, several methods were developed
to solve this problem, one can for example change
the structure of data being used to encode the
system. Thus, in addition to the automata, one can
use OBDDs, as Coudert et al (1990); Bruch et al
(1992); de Alfaro et al (2000), or encoding in terms
of SAT clauses, as McMillan (2003), while Bounded
Model Checking techniques unroll the model for a
fixed number of steps k, check whether a property
violation can occur in k or fewer steps, and encode
the restricted model as an instance of SAT. The
process can be repeated until all possible violations
have been ruled out. In the other hand, symmetry
reduction methods exploit symmetry in order to
efficiently verify its temporal property.
Model checking, as defined in Clarke et al (1999),
is the most important technique for verifying
systems. The use of BDDs and SAT in symbolic
model checking, in McMillan (1993), has led to
the success of this technique in the verification
of many system designs. However, explicit and
BDD-based model checking suffer from the state
space explosion problem. In order to solve this,
symmetry reduction techniques have been used in
1
SBMC : Symmetric Bounded Model Checking
B. NASRAOUI et al
the orbit relation can be done in polynomial time
for certain practical symmetric systems. However,
it consumes exponential time in general, Clarke
et al (1998). Clarke et al (1996, 1998) have
also proposed to allow several representatives for
each orbit. On the fly representatives have also
been proposed in Barner et al (2002), where at
each iteration the fixed point calculation, states
whose symmetric states are not encountered
in the previous iterations are chosen to be the
representative of their respective orbits. Thus, it is
possible to have several representatives for each
orbit. Another way of exploiting symmetry is to
translate the description of the symmetric system
in the generic form, where the local state variables
of symmetrical components are substituted by
global counter variables, and then translate the
generic representation into corresponding BDD, as
in Emerson et al (2003). These translations require
modifications to the front-end verification tool which
is done obviously.
In this paper, we propose a method of symmetry
reduction in Bounded Model Checking. First of
all by reducing the number of the sequences of
the checked model, when adding some clauses
which inhibit the effect of the nonrepresentative
transitions of their classes of equivalence in order
to generate a Boolean formula which represents the
system, we also develop an algorithm (Symmetric
Bounded Model Checking) which makes possible
to check complex symmetrical systems. In this
work we will combine the technique of reduction
by the method of symmetry and BMC. Our work
consists in generating a Boolean formula that holds
account only symmetrical sequences of transitions,
without the construction of the small-scale model.
The model checking problem amounts to solve the
satisfiability of this formula.
The structure of this paper is as follows: In section
2, we give preliminary definitions. The principle of
bounded model checking is detailed in section 3.
The section 4 presents the notions of representative
states and transitions of a symmetric model,
defined with permutation function and equivalence
classes. Our contribution, namely the symmetric
Bounded model checking is detailed in the section
5, while section 6 gives a proof of its correction.
An illustrative example is given at the section 7.
Finally, section 8 concludes and outlines future work.
represent the reachable states of the system and
whose edges represent state transitions. A labeling
function maps each node to a set of properties that
hold in the corresponding state. We use transitions
system to represent all the possible executions of a
given system. Formally, a transition system defined
by a Kripke structure as follows:
Definition A Kripke structure constructed over a
finite set of atomic propositions: AP = {P1 , P2 , ...Pn }
is defined by M = (S, I, R, L) where:
S is a set of states,
I ⊂ S: set of initial states
L : S → 2AP labelling function which labels each
state with atomic propositions that are true in S, and
R ⊆ S × S is the transition relation.
2.2. LTL : Linear Temporal logic
To specify properties, we use LTL : linear temporal
logic in Pnueli (1977); Manna et al (1991). An LTL
formula φ is defined over a set of atomic propositions
AP, and has the following syntax :
1. ψ ∈ AP is an LTL formula.
2. If ψ and ϕ are LTL formulae then so are
¬ψ, Xψ, ψU ϕ, ψRϕ, ψ ∧ ϕ and ψ ∨ ϕ.
The operators are the next-time operator X, the until
operator U, and its dual the release operator R.
Each formula defines a set of infinite words (models)
over 2AP . Let π ∈ (2AP )w be an infinite word. We
denote the suffix of a word π = σ0 σ1 σ2 . . . by π i =
σi σi+1 σi+2 . . . where σi ∈ 2AP , and πi denotes the
prefix πi = σ0 σ1 . . . σi . When a formula ψ defines a
word π at time i this is denoted π i |= ψ. The set of
infinite words defined by a formula ψ is {π ∈ (2AP )w |
π |= ψ}.
3. BOUNDED MODEL CHECKING BMC
The success of SAT solvers, described in McMillan
(2002, 2003) in Boolean Formula resolution has
contributed to the appearance of BMC, in Biere
et al (2001); Bierre et al (1999); McMillan (2002,
2003); Shtrichman et al (2000), since BMC uses
SAT solvers in the resolution of the Model Checking
problem.
The basic idea behind BMC is to consider only finite
prefixes of paths which can be used as witnesses
of the Model Checking problem and in which the
path is restricted to a certain bound k. The bound
is incremented until a witness is found. Two types of
paths are considered: paths with loops (see figure
1.b), and paths without loops (see figure 1.a). Loop
paths are interpreted as infinite paths (which contain
a transition from the last state to a previous state),
this path admits a finite length. If the path does
not have a loop, this implies that the prefix can not
2. PRELIMINARY DEFINITIONS
2.1. Kripke structures
A Kripke structure is a type of finite state machine,
used to represent the behaviour of a system in
the Model Checking. It is a graph whose nodes
2
SBMC : Symmetric Bounded Model Checking B. NASRAOUI et al
that the duality between G and F does not hold in
the bounded semantics.
Si
Sl
Sk
(a) without loop
Si
Sk
4. REPRESENTATIVE STATES AND
TRANSITIONS
(b) with loop
Figure 1: Path with and without loop
In the symmetry approach, automorphisms of the
global model are exploited. Given a property φ
specified in a temporal logic, and a model. Symmetry
reduction methods consist of the generation of a
model which considers only the representatives of
equivalence classes, this model is named a quotient
structure, and checks the formula φ on the model
using traditional model checking algorithms.
decide the behavior of the path after the k th state,
it implies that witnesses are formed from the paths
with loops since these paths have a finite length.
Let M be a Kripke structure and f be an LTL formula,
we adopt the following notations:
• π(k) is the k th state.
In the rest of this paper, we will define the
symmetry group C induced by a Kripke structure
M, we introduce the notion of symmetric transition
sequences and we give the definition of its
representative. The following definitions are useful in
the introduction of the process of our method.
• [[M ]] is the evaluation of f in a sequence π,
where f is an LTL formula.
Definition For l ≤ k, we call a path π a (k, l)−loop
if R(π(k), π(l)) and π = u.v w with u = (π(0), ..., π(l −
1)) and v = (π(l), ..., π(k)). We say that π is a
k−loop, if there is k, k ≥ l ≥ 0 for which π is a (k, l)loop.
Definition [Rintanen (2003)]
For a Kripke structure M = (S, I, R, L), a symmetry
group C defined over M is a pair hσ, τ i such that:
There are in the BMC approachs two semantics: a
semantic defined in the loop paths and a semantic
defined in a path without a loop. Bounded semantics
manipulate only prefixes of paths which have a
bounded length k.
• σ : S → S is a permutation function defined over
S,
Definition (Bounded semantics for a path with a
loop) Let k ≥ 0 and π be a k−loop. Thus an LTL
formula f is valid in a sequence π with bound k
(denoted by π |=k f ) iff π |= f .
• ∀(s1 , s2 ) ∈ S × S and t ∈ R, (σ(s1 ), σ(s2 )) = τ (t)
iff (s1 , s2 ) = t and
• τ : R → R is a permutation function defined over
R,
• L(s) = L(σ(s)), ∀s ∈ S.
In the following we define the notion of state
sequences and transition sequences in a kripke
model M.
Definition (Bounded semantics for a path without
a loop) Let k ≥ 0, and π be a path which is not a
k−loop. An LTL formula f is valid along π with bound
k, (denoted by π |=k f ) iff π |=0k f where
π
π
π
π
π
π
π
π
|=ik
|=ik
|=ik
|=ik
|=ik
|=ik
|=ik
|=ik
p
¬p
f ∧g
f ∨g
Gf
Ff
Xf
f Ug
iff
iff
iff
iff
is
iff
iff
iff
π
|=ik
f Rg
iff
Definition Let M = (S, I, R, L) be a kripke
structure, π and π ′ two finite state sequences in the
model M such that:
p ∈ L(π(i))
p∈
/ L(π(i))
π |=ik f and π |=ik g
π |=ik f or π |=ik g
always false
∃j, i ≤ j ≤ k.π |=jk f
i < k and π |=i+1
f
k
∃j, i ≤ j ≤ k.π |=kj g
and ∀n, i ≤ n < j.π |=nk f
∃j, i ≤ j ≤ k.π |=kj f
and ∀n, i ≤ n < j.π |=nk g
∀i, 0 ≤ i ≤ k, si ∈ S, π = s0 . . . sk and π ′ = s′0 . . . s′k .
We say that π and π ′ are two symmetric state
sequences if and only if:
∀i, 0 ≤ i ≤ k, s′i = σ(si ), (si , si+1 ) ∈ R and (s′i , s′i+1 ) ∈ R.
where σ is a permutation function over states.
Definition Let M = (S, I, R, L) be a kripke
structure, π and π ′ are two finite transition sequences
in the model M such that:
If π is not a k-loop, then Gf is not valid along π, in
the bounded semantics with a bound k, because f
may not satisfy the (k + 1)th state of π. This induces
∀i, 1 ≤ i ≤ k, ti ∈ R, t′i ∈ R, π = t1 . . . tk and π ′ = t′1 . . . t′k .
3
SBMC : Symmetric Bounded Model Checking
B. NASRAOUI et al
We say that: π and π ′ are two symmetic transition
sequences iff:
which detects the non representative transitions and
eliminates these sequences of transitions in the new
Boolean formula F’.
In the following we will give the formal definition of
this function:
∀i, 1 ≤ i ≤ k, ti = τ (t′i ).
where τ is a permutation function over transitions.
Definition Let R be the set of the transition relation,
We define T like a function that is defined over R as
follows /T (t) = 1 iff t ∈ R.
Definition A transition equivalence class of ti
denoted by Cli is a set of transitions that verifies:
∀t ∈ Cli , t ∈ R and t = τ (ti ).
T : R → {0, 1}/∀t ∈ R, T (t) = true iff t ∈ R.
We denote by R the set of representative transitions.
These transitions represent the equivalence classes
belonging to it, R ⊆ R. Similarly, we denote by S
the set of representative states. These states are the
representatives of their equivalence classes, S ⊆ S.
And consequently I is the set of initial representative
states. These states are the representatives of their
equivalence classes, I ⊆ I. Then M = (S, I, R, L)
is the representative model of M = (S, I, R, L). We
note that each representative transition must have a
common state with the previous one.
5. SYMMETRY-BMC
5.1. Selecting reduced model
In this section we present our algorithm
Representative M odel, this algorithm solves
two problems induced from the symmetry reduction
technique:
1 the construction of representative states and
transition sets.
Property 4.1 A representative transition denoted by
t is a transition that represents its equivalence class
and verifies: ∀i, 2 ≤ i ≤ k, ti ∈ Cli , ∃si−1 , si , si+1 ∈
S, ti = (si , si+1 ) and ti−1 = (si−1 , si )
2 the choice of the representatives of these
states and transitions.
Algorithm: Representative M odel
Input: M : initial model
Output: R: representative transitions
Begin
Initially: R= ∅
Remark For i = 1 the transition t1 is a transition
that must begin from an initial state t1 = (s, s′ )/s ∈
I and s′ ∈ S.
In the following we give some definitions that are
used in the proof of the equivalence between the
two Boolean formula. We will introduce the notion of
representative path and non representative path.
1. compute
S the set of the equivalence classes
CA = i Cli on the transitions of M.
2. for all Cli ∈ CA with i ≤ k do
Definition Let M = (S, I, R, L) be a kripke
structure, and π a finite path in the model M such
that:
∀i, 1 ≤ i ≤ k, ti ∈ R, π = t1 . . . tk .
3. select one representative ti of Cli
4. R := R ∪ {ti }
end
We say that π is a representative transition sequence
denoted by πrep if ∀i, 1 ≤ i ≤ k, ti ∈ R and if ti =
(si , si+1 ), ti+1 = (s′i , s′i+1 ) =⇒ (si+1 , s′i ) ∈ R (s.t. ti
is the representative of the equivalence classes R).
The different steps presented in our algorithm
Representative M odel are as follows:
• Compute transition equivalence classes of M.
In this step, symmetric transition sequences
are obtained from their orbits (equivalence
classes).
Definition Let M = (S, I, R, L) be a kripke
structure, and π a finite path in the model M such
that:
∀i, 1 ≤ i ≤ k, ti ∈ R, π = t1 . . . tk .
We say that π is a non representative transition
sequence denoted by πnrep if ∃i, 1 ≤ i ≤ k, ti ∈
/ R
(s.t. ti is not the representative of the equivalence
classes R).
• With the condition i ≤ k,
the number of transitions in a path is limited by
the bound k. Thus, we are interested only in
the equivalence classes that are reachable in k
iterations.
We define a Boolean function that tests if a transition
belongs to the set of representative transitions
• Select one representative transition from each
class of Cli . During this step the algorithm
4
SBMC : Symmetric Bounded Model Checking B. NASRAOUI et al
Wk
¬Lk ∧ [[f ]]0k ∨ l=0 l Lk ∧ l [[f ]]0k .
In the following we prove that the resolution of
the BMC problem can be replaced by our method
when the system exhibits structural symmetry in its
specification. This technique is called SBMC.
select one representative transition from Cli
verifying the property 4.1.
• Compute R := R ∪ {t}
This step allows the construction of the set R
that represents the set of transitions which in
turn represents the orbit of the transitions. R
initially contains ∅.
6. EQUIVALENCE BETWEEN FORMULAS
This algorithm constructs a set of transitions that
represent the reduced model by symmetry.
In the previous section we introduced a new
technique called SBMC. This technique is based
on BMC and exploits the symmetry of the problem,
for generating a new formula F’ that handles only
transition sequences representing the part of the
initial model or the reduced model.
The Boolean formula F’ adds new clauses that inhibit
the fact of symmetric transitions of the initial model.
In this following, we establish the equivalence
relation between the two Boolean Formulas F and
F’.
This set is denoted by R. We will work on this
set in the generation of the representative transition
sequences, for this reason we will generate a new
Boolean formula which handles only representative
transition sequences:
It begins from the set of representative transitions
which represent the transitions starting from the
initial states, and in each iteration it selects one
representative transition t. Model Checking with SAT
instances will speed up the process of resolution, this
is due to the reduction of the transition sequences.
Proposition 6.1 For
a
Kripke
structure
M = (S, I, R, L), we have:
the formula F that can be generated from the
initial model is equivalent to the the formula F’ that
represents the reduced model M :
5.2. Transformation of the BMC to the SBMC
In this section we focus on the translation from the
problem of BMC to the SBMC. The initial system is
then directly modeled by the new Boolean formula F’
which does not handle all the transition sequences
but only the representative of all the symmetric
transition sequences. This translation will speedup
the process of searching for counter examples and
scales better than the classic approach of Bounded
Model Checking.
Given a Kripke structure M , an LTL formula f and a
bound k, we construct propositionnal formula F’ that
models only representative transition sequences.
Let πrep =t1 . . . tk be a finite representative transition
sequence that forms a representative path.
Each transition is represented by a binary codage
over a set of variables. The formula F’ takes
into account these transitions and searchs for an
encodage such that F’ is satisfiable if and only if πrep
is a valid sequence in the model M that satisfies f .
This formula F’ constructs a path, that is a sequence
of states representing sequences of transitions that
belong to the representatives of the equivalence
classes.
F ⇐⇒ F ′
In the sequel, we prove the equivalence between F
and F’, which will be proceeded by the two steps:
1. F ′ ⇒ F ,
2. F ′ ⇐ F .
Proof Let M = (S, I, R, L) be a kripke structure, f
an LTL formula and k an integer, such that: k ≥ 0.
Let us prove that F ⇐⇒ F ′ .
Since the formulas F ⇐⇒ F ′ and F ′ ⇒ F ∧ F ′ ⇐ F
are equivalent, we will prove the validity of
(F ′ ⇒ F ) ∧ (F ′ ⇐ F ) in two steps.
First of all, let us prove the first implication, namely
F′ ⇒ F.
Vk
We have: [[M ]]k := I(s0 ) ∧ i=0 R(si , si+1 ), and
Wk
F := [[M, f ]]k := [[M ]]k ∧ ¬Lk ∧[[f ]]0k ∨ l=0 l Lk ∧
0
,
l [[f ]]k
Finally this formula generates the representatives of
all symmetric paths satisfying f . The construction
of the paths begins from the initial states, and is
followed by the research of a valid sequence of the
representative transitions that satisfy the LTL formula
f to be checked. In this formula F’, the state s0 must
be an initial state and the transitions (si , si+1 ) must
be in R and must be a representative transition (i.e.
(si , si+1 ) is in R).
Vk
F ′ = I(s0 ) ∧ i=0 R(si , si+1 ) ∧ T (si , si+1 ) ∧
By substituting [[M ]]k value within F expression, we
obtain:
Vk
F = I(s0 ) ∧ i=0 R(si , si+1 ) ∧ ¬Lk ∧ [[f ]]0k ∨
Wk
0
L
∧
[[f
]]
, and we have either: F ′ =
l
k
l=0 l k
5
SBMC : Symmetric Bounded Model Checking
B. NASRAOUI et al
Vk
I(s0 ) ∧ i=0 R(si , si+1 ) ∧ T (si , si+1 ) ∧ ¬Lk ∧
Wk
[[f ]]0k ∨ l=0 l Lk ∧ l [[f ]]0k . The demonstration of
0
l [[f ]]k
Wk
¬R(si , si+1 ) ∨
¬T (si , si+1 ) ∨ i=0 R(si , si+1 ) ∨ ¬ ¬Lk ∧ [[f ]]0k ∨
Wk
Wk
0
L
∧
[[f
]]
≡ ¬I(s0 )∨ i=0 ¬R(si , si+1 )∨
l
k
l
k
l=0
Wk
Vk
¬Lk ∧
i=0 ¬T (si , si+1 ) ∨
i=0 R(si , si+1 ) ∨ ¬
W
k
[[f ]]0k ∨ l=0 l Lk ∧ l [[f ]]0k
≡ ¬I(s0 ) ∨
Vk
Wk
¬
R(si , si+1 ) ∨
∨
i=0 ¬T (si , si+1 )
Wk
Vk i=0
0
¬Lk ∧ [[f ]]k ∨ l=0 l Lk ∧
i=0 R(si , si+1 ) ∨ ¬
0
≡ true.
l [[f ]]k
Vk
Vk
because i=0 R(si , si+1 )∨¬ i=0 R(si , si+1 ) ≡ true.
Concerning the second part of the proof F ⇒ F ′ :
We have ∀π ∈ M, F (π) ⇒ F ′ (π), which means that
if we have F (π) true, F ′ (π) will be eitheir true.
In the initial model we have two kind of paths:
representative path πrep and non representative
path πnrep , this implies that the path π ∈
{πrep , πnrep }.
≡
the implication F ′ ⇒ F , is as follows:
While replacing F and F’, with their respective
expressions, we obtain the following statement:
Vk
∧ T (si , si+1)
∧
I(s0 ) ∧
i=0 R(si , si+1 )
Wk
0
0
⇒
¬Lk ∧ [[f ]]k ∨
l=0 l Lk ∧ l [[f ]]k
W
Vk
k
I(s0 )∧ i=0 R(si , si+1 )∧ ¬Lk ∧[[f ]]0k ∨ l=0 l Lk ∧
0
[[f
]]
≡
l
k
And since (A ⇒ B ≡ ¬A ∨ B), the previous
expression
will be transformed as follows:
Vk
∧
¬ I(s0 ) ∧
i=0 R(si , si+1 ) ∧ T (si , si+1 )
W
k
¬Lk ∧ [[f ]]0k
∧ l [[f ]]0k
∨
l=0 l Lk
Vk
¬Lk ∧ [[f ]]0k ∨
∨ I(s0 ) ∧ i=0 R(si , si+1 ) ∧
Wk
0
≡
l=0 l Lk ∧ l [[f ]]k
By
applying
De
Morgan’s
law,
namely
(¬(A ∧ ... ∧ B) ≡ (¬A ∨ ... ∨ ¬B) ), on the previous
statement, the
Vlater will be written as the follower:
k
∨
¬I(s0 ) ∨ ¬
i=0 R(si , si+1 ) ∧ T (si , si+1 )
W
k
∧ l [[f ]]0k
∨
¬ ¬Lk ∧ [[f ]]0k
l=0 l Lk
Vk
¬Lk ∧ [[f ]]0k ∨
∨ I(s0 ) ∧ i=0 R(si , si+1 ) ∧
Wk
0
≡
l=0 l Lk ∧ l [[f ]]k
Now, let us consider the following equivalence:
a ∨ (¬a ∧ b) ≡ a ∨ b.
For a :=
¬I(s0 ),V
k
b := I(s0 ) ∧ i=0 R(si , si+1 ) ∧ ¬Lk ∧ [[f ]]0k ∨
Wk
0
.
l=0 l Lk ∧ l [[f ]]k
We
will
obtain
the
following
statement:
¬I(s0 ) ∨
V
k
∨ ¬ ¬Lk ∧
¬
i=0 R(si , si+1 ) ∧ T (si , si+1 )
V
W
k
k
[[f ]]0k ∨ l=0 l Lk ∧ l [[f ]]0k ∨
i=0 R(si , si+1 ) ∧
W
k
¬Lk ∧ [[f ]]0k ∨ l=0 l Lk ∧ l [[f ]]0k
≡
If we consider another time the previous equivalence
a ∨ (¬a∧ b) ≡ a ∨ b, and while substituting
Wk
a := ¬ ¬Lk ∧ [[f ]]0k ∨ l=0 l Lk ∧ l [[f ]]0k , and
Wk
b := ¬Lk ∧[[f ]]0k ∨ l=0 l Lk ∧ l [[f ]]0k , we get the
V
k
following statement: ¬I(s0 ) ∨ ¬
i=0 R(si , si+1 ) ∧
Vk
T (si , si+1 ) ∨ i=0 R(si , si+1 ) ∨ ¬ ¬Lk ∧ [[f ]]0k ∨
Wk
0
L
∧
[[f
]]
≡
l
k
l
k
l=0
The transformations between the following formulas
are ensured by De Morgan’s laws as the sequel:
Wk
¬I(s0 ) ∨
∨
i , si+1 ) ∧ T (si , si+1 )
i=0 ¬ R(s
Wk
Vk
0
¬Lk ∧ [[f ]]k
l=0 l Lk ∧
i=0 R(si , si+1 ) ∨ ¬
¬I(s0 ) ∨
Vk
i=0
• if π = πrep then F (π) = F ′ (π), because π
is a representative transition sequence both in
the initial model and in the reduced model by
symmetry.
• otherwise (π = πnrep ) in this case πrep =
σ(π) ⇒ F (πrep ) = F (π) or F (πrep ) =
F ′ (πrep ) =⇒ F (π) = F ′ (πrep ) =⇒ F (π) =
F ′ (σ(π))
Proposition 6.2 Let M = (S, I, R, L) be a kripke
structure, f an LTL formula, and suppose that M
represents the reduced model of M , we have:
M |= f ⇐⇒ M |= f
Proof Let F be a Boolean formula which represents
the initial model, and F ′ the Boolean formula that
represents the reduced model M .
M |= f ⇐⇒ ∃k, [[M, f ]]k is satisfiable
F is satisfiable, due to the fact that F ⇔ F ′ , this
implies that F ′ is similar to F ′ , which means that they
have the same behaviors.
F ′ models the symmetric model or the reduced
model, then we have:
M |= f ⇐⇒ ∃k, F ′ is satisfiable
Theorem 6.3 Let M = (S, I, R, L) be a kripke
structure, f an LTL formula. M |= f iff there exists
k, k ≥ 0 such that: M |=k f .
The proof of this theorem can be founded in, Biere
et al (2003), and from it we can derive the following
Corollary which specify the fact that if an initial model
6
SBMC : Symmetric Bounded Model Checking B. NASRAOUI et al
satisfies an LTL formula f then the reduced model by
symmetry do either.
transitions, these transition sequences are formed by
sequences of representative transitions representing
their equivalence classes. Thus, the number of
sequences handled, while the model checking of
the model, is restricted to representative transition
sequences, which have much smaller than the total
number of all the transition sequences in the initial
model. Therefore, the use of our approach speeds
up the process of model checking, this is due to the
non treatment of the non representative transition
sequences, and to the use of the SAT solvers in
the resolution of the problem, which is the search
of counter examples of the property to be checked.
Thus, we can find a counter example faster than the
other techniques.
On the one hand, our approach is characterized
by the fact that it generates equivalence classes,
and choose a representative of these classes. Our
method generates a formula which models only
representative transitions, without the construction
of the reduced model. The problem of the model
checking is reduced to the satisfiability of the
Boolean formula.
As future work we plan to consider the following
points:
Corollary 6.4 Let M = (S, I, R, L) be a kripke
structure, f an LTL formula. M |= f if there exists
k, k ≥ 0 such that: M |=k f .
Proof The result is trivial due to Theorem 6.3.
7. EXAMPLE
In this example we don’t construct the transition
system, symmetries are derived from an implicit
representation of the model and the transition
system is given in figure 2 only to illustrate our
approach.
Consider the transition system with symmetries
shown in figure 2.
This structure has the following automorphisms:
2
5
7
4
1
• Extend our approach for timed systems.
Cl1
3
Cl2
6
Cl3
Cl5
• Determine the best bound k by exploiting
symmetry.
Cl4
Figure 2: Reduced Model M
Cl1 = {1}, Cl2 = {2, 3}, Cl3 = {4}, Cl4 = {5, 6},
and Cl5 = {7}. Therefore these automorphisms
induces the transition equivalence classes:
h(1, 2), (1, 3)i, h(2, 4), (3, 4)i, h(1, 7)i, h(7, 5), (7, 6)i, h(5, 4),
(6, 4)i and h(5, 2), (6, 3)i. Thus, paths that contain
only representative transition sequences in their
transitions are named the representative paths.
Therefore, the following representative paths
induced from the initial model and represented by
the Boolean formula are:
π1′ = 1, 2, 4, π2′ = 1, 7, 5, 4, and π3′ = 1, 7, 5, 2, 4.
However, the standard approach of BMC is to
consider all paths in the transition system which
would be:
π1 = 1, 2, 4, π2 = 1, 7, 5, 4, π3 = 1, 3, 4, π4 = 1, 7, 6, 4,
π5 = 1, 7, 5, 2, 4, and π6 = 1, 7, 6, 3, 4.
8. CONCLUSION
We have presented in this work a new method,
which combines the reduction technique with BMC.
This approach consists of the representation of
Model Checking problems with a Boolean formula.
This formula generates a set of representative
7
• Exploit the symmetry of the clauses generated
in the Boolean formula before being solved by
the SAT
9. REFERENCES
Barner, S, Grumberg, O, Combining symmetry
reduction and under-approximation for symbolic
model checking In: International Conference on
Computer-Aided Verification (CAV). (2002)
Biere, A., Cimatti, A. Clarke, E.M., and Zhu, Y.
Symbolic model checking without BDDs In the
proceeding of the 5th International Conference on
Tools and Algorithms for Construction and Analysis
of Systems 193-207, 2001.
Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu,
Y.: Symbolic model checking using SAT procedures
instead of BDDs In: Design Automation Conference
(DAC), 1999.
Biere, A. Cimatti. A, Clarke, E. M., Strichman, O.
and Zhu, Y. Bounded model Checking, In Highly
Dependable Software, volume 58 of Advances in
Computers. Academic Press, 2003.
Bryant, R. E. On the complexity of VLSI implementations and graph representations of Boolean
functions with application to integer multiplication
SBMC : Symmetric Bounded Model Checking
B. NASRAOUI et al
IEEE Transactions on Computers, 40(2) :205-213,
February 1991.
Bryant, R. E. Graph-based algorithms for Boolean
function manipulation IEEE Transactions on Computers, C-35 :677-691, 1986.
Bryant, R. E. Symbolic boolean manipulation with
ordered binary decision diagrams ACM Computing
Surveys, 24(3) :293-318, September 1992.
model checking JACM : Journal of the ACM, 47,
2000.
Manna, Z, and Pnueli, A. The Temporal Logic of
Reactive and Concurrent Systems: Specification,
Springer-Verlag, New York, 1991.
McMillan, K.L, Symbolic Model Checking: An
Approach to the State Explosion Problem Kluwer
Academic Publishers (1993)
Burch, J. R., Clarke, E. M., McMillan, K. L., Dill, D.
L. and Hwang, J. Symbolic model checking : 1020
states and beyond Information and Computation,
98(2) :142-170, 1992.
McMillan, K.L. Applying SAT methods in unbounded
symbolic model checking Proceeding of the International Conference on Computer-Aided Verification
(CAV), 2002.
Clarke, E. M., Filkorn, T., Jha, S.
Exploiting
Symmetry In Temporal Logic Model Checking,
Proceedings of the 5th International Conference on
Computer Aided Verification, p.450-462, June 28July 01, 1993.
Clarke, E.M., Enders, R., Filkorn, T., Jha, S,
Exploiting symmetry in temporal logic model
checking Formal Methods in System Design 9
(1996) 77104
Clarke, E.M., Emerson, E.A., Jha, S., Sistla,
A.P,
Symmetry reductions in model checking
In: International Conference on Computer Aided
Verification (CAV). (1998)
Clarke, E.M., Grumberg, O., Peled, D, Model
Checking MIT Press (1999)
Coudert, O. and Madre, J. C. A unified framework
for the formal verification of sequential circuits,
Proceeding of ICCAD, pages 126-129, 1990.
de Alfaro, L., Kwiatkowska, M. Z., Norman, G.,
Parker, D. and Segala, R. Symbolic model checking
of probabilistic processes using MTBDDs and the
kronecker representation In Susanne Graf and
Michael I. Schwartzbach, editors, TACAS, volume
1785 of Lecture Notes in Computer Science, pages
395-410. Springer, 2000.
Emerson, E.A, Wahl, T, On combining symmetry
reduction and symbolic representation for efficient
model checking, In: Conference on Correct Hardware Design and Verification Methods (CHARME).
McMillan, K.L. Interpolation and SAT-based model
checking Proceeding of the International Conference
on Computer-Aided Verification (CAV), 2003.
Pnueli, A. The Temporal Logic of Programs, In
Proceedings of the 18th IEEE Symposium on
Foundations of Computer Science (FOCS 1977),
pages 4657, 1977.
Rintanen, J. Symmetry Reduction for SAT Representations of Transition Systems Proceedings of the
Thirteenth International Conference on Automated
Planning and Scheduling (ICAPS 2003), June 9-13,
2003, Trento, Italy.
Shtrichman, O. Tuning SAT checkers for bounded
model checking In proceeding of the 12th International Conference on Computer Aided Verification
p.480-494, 2000.
Vardi, M. Y.. An automata-theoretic approach to
linear temporal logic In Logics for Concurrency,
volume 1043 of LNCS, pages 238-266, 1996.
Emerson, E.A., Sistla, A.P, Symmetry and model
checking Formal Methods in System Design 9
(1996) 105131
Ganai, M., Gupta, A., Ashar, P. Efficient SATbased unbounded symbolic model checking using
circuit cofactoring Proceeding of the International
Conference on Computer-Aided Design (ICCAD),
2004.
Jha, S.Symmetry and Induction in Model Checking.
PhD thesis, School of Computer Science, Carnegie
Mellon University (1996)
KUPFERMAN, 0., VARDI, M. Y., AND WOLPER, P
An automata-theoretic approach to. branching-time
8