<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A comparison of SAT-based and SMT-based bounded model checking methods for ECTL*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Agnieszka M. Zbrzezny</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrzej Zbrzezny</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IMCS, Jan Długosz University. Al. Armii Krajowej 13/15</institution>
          ,
          <addr-line>42-200 Cze ̧stochowa</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we present a comparison of the SAT-based bounded model checking (BMC) and SMT-based bounded model checking methods for ECTL* properties of a parallel composition of transition systems. In the both methods we use the parallel composition (of the transition systems) based on the interleaved semantics. Moreover, the both methods use the same bounded semantics of ECTL* formulae, the compatible encodings of the transition systems and the compatible translations of ECTL* formulae. For the SAT-based BMC we have used the PicoSAT solver and for the SAT-based BMC we have used the Z3 solver. We have implemented the both methods and made some preliminary experimental results which shows that generally the SAT-based method is superior to the SMT-based method. However, in some cases the SMT-method overcomes the SAT-based method.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The problem of model checking [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is to check automatically whether a structure M
defines a model for a modal (temporal, epistemic, etc.) formula . The practical
applicability of model checking is strongly limited by the state explosion problem, which
means that the number of model states grows exponentially in the size of the system
representation. To avoid this problem a number of state reduction techniques and
symbolic model checking approaches have been developed, among others, [
        <xref ref-type="bibr" rid="ref19 ref20 ref8 ref9">8, 9, 19, 20</xref>
        ].
      </p>
      <p>
        The SAT-based bounded model checking (BMC) is one of the symbolic model
checking technique designed for finding witnesses for existential properties or
counterexamples for universal properties. Its main idea is to consider a model reduced to
a specific depth. The first BMC method was proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and it was designed for
linear time properties. Next in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] the method has been extended to handle branching
time properties.
      </p>
      <p>
        The SMT problem [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is a generalisation of the SAT problem, where Boolean
variables are replaced by predicates from various background theories, such as linear, real,
and integer arithmetic. SMT generalises SAT by adding equality reasoning, arithmetic,
fixed-size bit-vectors, arrays, quantifiers, and other useful first-order theories.
      </p>
      <p>
        The SMT-based bounded model checking is quite new technique. It was using to
verifying Embedded ANSI-C Software [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], C++ Programs [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], Multi-threaded
Software [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], Fixed-Point Digital Controllers [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], timed automata [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], real-time systems
[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], LTL Specifications with Integer Constraints [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and many others.
      </p>
      <p>
        In order to use the bounded model checking method we need to define a translation
from a given temporal logic to the satisfiability modulo theories problem (in short: to
SMT). As far as we know, no such translation was given in the literature. However,
several translations to SAT from ECTL* and its sublogics were proposed. The first
translation from LTL to SAT was introduced in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and another ones in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The
first translation from ECTL to SAT was introduced in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] and then it was substantially
improved in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. The first correct translation from ECTL* to SAT was introduced in
[
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and then it was substantially improved in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. The translation from ECTL* to SMT
that we use in this paper strictly follows the translation from ECTL* to SAT introduced
in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ].
      </p>
      <p>The rest of the paper is organised as follows. In the next section we give some
remarks about the syntax and (both the bounded and unbounded) semantics of ECTL*. In
Section 3 we give some remarks about our translation from ECTL* to SMT. Preliminary
experimental results and some conclusions are presented in Section 4.
2</p>
      <p>
        Syntax and Semantics of ECTL*
In this section we briefly recall the syntax and semantics of the logic ECTL*. The
Existential Computation Tree Logic ECTL* is a restriction of a propositional
branchingtime temporal logic CTL* introduced by Emerson and Halpern in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] as a specification
language for finite-state systems. The restriction consists in using only existential path
quantifiers and allowing the negation to be applied to propositional variables only
(instead of to arbitrary formulae). For more thorough description one can see [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
2.1
      </p>
    </sec>
    <sec id="sec-2">
      <title>Syntax of ECTL*</title>
      <p>The language of ECTL* consists of two types of formulae: state formulae (interpreted at
states) and path formulae (interpreted along paths). The syntax of ECTL* state formulae
over the set AP of atomic propositions is defined by the following grammar:
::= true j false j p j :p j 1 ^ 2 j 1 _ 2 j E'
where p 2 AP , 1, 2 and are state formulae, and ' is a path formula. The syntax of
ECTL* path formulae over the set AP of atomic propositions is defined by the following
grammar:
' ::=</p>
      <p>j '1 ^ '2 j '1 _ '2 j X'1 j '1U'2 j '1R'2
where is a state formula and ', '1 and '2 are path formulae. In practice, many
interesting temporal properties are formulated by using temporal operators F (eventually)
and G (always) defined as follows:</p>
      <p>Definition 1. A transition system is a tuple M = (S; Act; !; s0; AP; L), where S
is a nonempty finite set of states, Act is a set of actions, s0 2 S is the initial state,
! S Act S is a transition relation, AP is a set of atomic propositions,
and L : S ! 2AP is a labelling function that assigns to each state a set of atomic
propositions that are assumed to be true at that state.</p>
      <p>Definition 2. An ECTL* state formula is valid in M, denoted by M j= , iff s0 j= ,
i.e., holds at the initial state of M.
2.3</p>
    </sec>
    <sec id="sec-3">
      <title>Bounded Semantics of ECTL*</title>
      <p>
        The bounded semantics of ECTL* is defined in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. This is done in order to define the
bounded model checking problem for ECTL* and to translate it into the satisfiability
problem. For more thorough description one can see [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ].
      </p>
      <p>From now on we assume that models are finite, i.e. the sets S, Act and AP are
finite. To define the bounded semantics one needs to represent infinite paths in a model
in a special way. To this aim, the notions of k-paths and loops are defined.
Definition 3. Let M be a model, k 2 N, and let l 2 N such that 0 6 l 6 k. A
kpath is a pair ( ; l), also denoted by l, where is a finite sequence = (s0; : : : ; sk)
of states such that sj !sj+1 for each 0 6 j &lt; k. A k-path l is a loop if l &lt; k and
(k) = (l).</p>
      <p>If a k-path l is a loop it represents the infinite path of the form uv!, where u =
( (0); : : : ; (l)) and v = ( (l + 1); : : : ; (k)). We denote this unique path by %( l).
Note that for each j 2 N, %( l)l+j = %( l)k+j .</p>
      <p>Let s be a state and l be a k-path. For a state formula over AP , the notation
M; s j=k means that k-holds at the state s in the model M. Similarly, for a path
formula ' over AP , the notation M; lm j=k ', where 0 6 m 6 k, means that '
k-holds along the suffix (m); : : : ; (k) of l.</p>
      <p>Lemma 1. Let M be a model. For every ECTL* path formula ', every k-path l in
M, and every 0 6 m 6 k, if M; lm j=k ', then
2 M such that [::k] =
it holds M; m j=
1. if l is not a loop, then for each path</p>
      <p>'.
2. if l is a loop, then M; %( l)m j= ',
Theorem 1. Let M be a model and
iff for some k 2 N, M; s0 j=k .</p>
      <p>be an ECTL* state formula. Then M; s0 j=</p>
    </sec>
    <sec id="sec-4">
      <title>Translation to SMT</title>
      <p>
        We have implemented a translation to SMT strictly following the translation to SAT
given in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. In our translation to SMT states, loops and actions are represented by
natural variables. Since M is a parallel composition of a finite number n of finite transition
system, every state of M can be encoded as a natural number vector of the length n.
Thus, each state of M can be represented by a valuation of a vector (called a symbolic
state) of different individual variables called individual state variables. Moreover, every
action of M can be represented by a valuation of an individual variable, and the
designated positions l of the k-paths used in the translation can be also be represented by
valuations of individual variables. Furthermore, k-paths can be represented as vectors
of symbolic states.
      </p>
      <p>The details of the translation to SMT will be provided in the full version of the
present paper.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Bounded Model Checking of ECTL* properties</title>
      <p>Now let us recall the the BMC method of verifying a given ECTL* state formula .
Let I(w0;0) be a be a quantifier-free first-order formula representing the initial state,
[M ]kFk( ) be a quantifier-free first-order formula representing transition relation and
[0;0;Fk( )] be a quantifier-free first-order formula that is the translation of the formula
h ik</p>
      <p>. In order to verify the formula one has to check the satisfiability of the following
conjunction:</p>
      <p>[M ]k := I(w0;0) ^ [M ]kFk( ) ^ h i[k0;0;Fk( )]
starting with k = 0. If for a given k the formula [M ]k is not satisfiable, then k is
increased and the resulting formula is to be checked by a SMT-solver again. The method
described relies on the following theorem.</p>
      <p>Theorem 2. Let M be a model and be an ECTL* state formula. Then for every
k 2 N, M; s0 j=k if, and only if, the quantifier-free first-order formula [M ]k is
satisfiable.
4</p>
    </sec>
    <sec id="sec-6">
      <title>Experimental Results</title>
      <p>In this section we present a comparison of a performance evaluation of two methods:
SMT-based BMC and SAT-based BMC for dining philosophers problem.</p>
      <p>
        An evaluation of both BMC algorithms is given by means of the running time and
the memory used. In order to compare the translation to SMT with the translation to SAT
we have implemented both the algorithms as standalone programs written in the
programming language C++. In our SAT-BMC technique we use the state of the art
SATsolver PicoSAT (http://fmv.jku.at/picosat/) and in SMT-BMC technique
we use the state of the art SMT-solver Z3 [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] (http://z3.codeplex.com/).
      </p>
      <p>
        Our experiments were performed on a computer equipped with I7-3770 processor,
32 GB of RAM, and the operating system Arch Linux with the kernel 3.15.3. As the
benchmark we used the well-known dining philosophers problem [
        <xref ref-type="bibr" rid="ref14 ref16">14, 16</xref>
        ]. We have
modelled this problem by means of communicating finite automata. The system consists
of n automata each of which models a philosopher, together with n automata each of
which models a fork, together with one automaton which models the lackey. The latter
automaton is used to coordinate the philosophers’ access to the dining-room. In fact,
this automaton ensures that no deadlock is possible. The global system is obtained as
the parallel composition of the components, which are shown in Figure 1.
outj
0
5
      </p>
      <p>0
0
in0, . . . , inn−1
out0, . . . , outn−1
inj
putj
1
4</p>
      <p>getj
put(j+1) mod n
getj, get(j−1) mod n
putj, put(j−1) mod n
1
q q q
n-2
1
2
3
Let AP = fpj j 0 6 j &lt; n; 0 6 i 6 5g and assume that the variable pij is true
i
only at the i-th state of the j-th philosopher. We have tested three ECTL* formulae over
AP in order to compare the experimental results for the translation to SAT with the
experimental results for the translation to SMT. All the tested formulae are valid in the
considered model for every n 2.</p>
      <p>The first formula</p>
      <p>n 1
'1 = ^ E F pj3 :</p>
      <p>j=0
expresses the following property: For each philosopher there exists a path on which this
philosopher eventually gets his left and right forks.</p>
      <p>In Figures 2(a) and 2(b) we present a comparison of total time usage and total
memory usage for the formulae '1.</p>
      <p>The second formula
get(j+1) mod n
in0, . . . , inn−1
out0, . . . , outn−1
n-1
700 SAT
600 SMT
500
.cse 400
n
i
ieTm 300
200
100
1400 SAT
1200 SMT
1000
.cse 800
n
i
ieTm 600
400
200
n
b 2 c
'2 = EGF ^
j=0
expresses the following property: There exists a path on which every philosopher
eventually gets his left and right forks.</p>
      <p>In Figures 4(a) and 4(b) we present a comparison of total time usage and total
memory usage for the formulae '3.</p>
      <p>Total time usage for a DP, formula 1</p>
      <p>Memory usage for a DP, formula 1
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100</p>
      <p>Number of philosophers
(a)</p>
      <p>Our preliminary experimental results suggest that generally the SAT-based method
is superior to the SMT-based method. However, in some cases the SMT-method
overcomes the SAT-based method. An observation of experimental results leads to the
conclusion that the SAT-based BMC for ECTL* uses less time and memory comparing
to the SMT-based BMC for ECTL*. In particular, using the SAT-based BMC it was
possible to verify the formula '1 for 100 philosophers, whereas using the SMT-based
BMC it was possible to verify the formula '1 for 40 philosophers only. However, it was
possible to verify the formulae '2 and '3 for the same numbers of philosophers for the
both methods. Moreover, the experimental results for formulae '2 and '3 lead to the
conclusion that the SMT-based BMC method uses less time than the SAT-based BMC
method when the number of philosophers increases.</p>
      <p>We should stress that the implementation of the SMT-based BMC we used for
performing the experiments is our first implementation that uses SMT solvers. Therefore,
12000 SAT</p>
      <p>SMT
10000
8000
.
cse
ine 6000
m
i
T 4000
2000
50000 SAT
45000 SMT
40000
35000
.c 30000
isene 25000
iTm 20000
15000
10000
5000
0 2
350 SMT
300
.c 250
se
ine 200
we hope to improve the implementation in the near future by taking many advantages
of possibilities (of SMT-solvers) that we did not use so far.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>C.</given-names>
            <surname>Baier</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Katoen</surname>
          </string-name>
          .
          <article-title>Principles of model checking</article-title>
          . MIT Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Marcello</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Bersani</surname>
            , Luca Cavallaro, Achille Frigeri,
            <given-names>Matteo</given-names>
            Pradella, and Matteo
          </string-name>
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          .
          <article-title>SMT-based verification of LTL specification with integer constraints and its application to runtime checking of service substitutability</article-title>
          .
          <source>In SEFM</source>
          , pages
          <fpage>244</fpage>
          -
          <lpage>254</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Iury</given-names>
            <surname>Bessa</surname>
          </string-name>
          , Renato B.
          <string-name>
            <surname>Abreu</surname>
            , Joao Edgar Chaves Filho, and
            <given-names>Lucas</given-names>
          </string-name>
          <string-name>
            <surname>Cordeiro</surname>
          </string-name>
          .
          <article-title>SMT-based bounded model checking of fixed-point digital controllers</article-title>
          .
          <source>CoRR, abs/1403.5172</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          , E. Clarke,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fujita</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Symbolic model checking using SAT procedures instead of BDDs</article-title>
          .
          <source>In Proc. of the ACM=IEEE Design Automation Conference (DAC'99)</source>
          , pages
          <fpage>317</fpage>
          -
          <lpage>320</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          , E. Clarke, and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Symbolic model checking without BDDs</article-title>
          .
          <source>In Proc. of the 5th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'99)</source>
          , volume
          <volume>1579</volume>
          <source>of LNCS</source>
          , pages
          <fpage>193</fpage>
          -
          <lpage>207</lpage>
          . Springer-Verlag,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Heljanko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Junttila</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Latvala</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Schuppan</surname>
          </string-name>
          .
          <article-title>Linear encodings of bounded LTL model checking</article-title>
          .
          <source>Logical Methods in Computer Science</source>
          ,
          <volume>2</volume>
          (
          <issue>5</issue>
          ),
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Armin</given-names>
            <surname>Biere</surname>
          </string-name>
          , Marijn Heule, Hans van Maaren, and Toby Walsh, editors.
          <source>Handbook of Satisfiability</source>
          , volume
          <volume>185</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          . IOS Press,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bryant</surname>
          </string-name>
          .
          <article-title>Graph-based algorithms for boolean function manipulation</article-title>
          .
          <source>IEEE Transaction on Computers</source>
          ,
          <volume>35</volume>
          (
          <issue>8</issue>
          ):
          <fpage>677</fpage>
          -
          <lpage>691</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Sistla</surname>
          </string-name>
          .
          <article-title>Automatic verification of finite state concurrent systems using temporal logic specifications: A practical approach</article-title>
          .
          <source>ACM Transactions on Programming Languages and Systems</source>
          ,
          <volume>8</volume>
          (
          <issue>2</issue>
          ):
          <fpage>244</fpage>
          -
          <lpage>263</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. E.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Grumberg</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Peled</surname>
          </string-name>
          . Model Checking. MIT Press,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Lucas</given-names>
            <surname>Cordeiro</surname>
          </string-name>
          and
          <string-name>
            <given-names>Bernd</given-names>
            <surname>Fischer</surname>
          </string-name>
          .
          <article-title>Verifying multi-threaded software using SMT-based context-bounded model checking</article-title>
          .
          <source>In ICSE</source>
          , pages
          <fpage>331</fpage>
          -
          <lpage>340</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lucas</surname>
            <given-names>Cordeiro</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Bernd</given-names>
            <surname>Fischer</surname>
          </string-name>
          , and
          <string-name>
            <surname>João</surname>
          </string-name>
          Marques-Silva.
          <article-title>SMT-based bounded model checking for embedded ANSI-C software</article-title>
          .
          <source>IEEE Trans. Software Eng.</source>
          ,
          <volume>38</volume>
          (
          <issue>4</issue>
          ):
          <fpage>957</fpage>
          -
          <lpage>974</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Leonardo Mendonça de Moura and Nikolaj Bjørner.
          <article-title>Z3: An efficient SMT solver</article-title>
          .
          <source>In TACAS</source>
          , pages
          <fpage>337</fpage>
          -
          <lpage>340</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>E.W.</given-names>
            <surname>Dijkstra</surname>
          </string-name>
          .
          <article-title>Hierarchical ordering of sequential processes</article-title>
          .
          <source>Acta Inf.</source>
          ,
          <volume>1</volume>
          :
          <fpage>115</fpage>
          -
          <lpage>138</lpage>
          ,
          <year>1971</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. E. Allen Emerson and
          <string-name>
            <given-names>Joseph Y.</given-names>
            <surname>Halpern</surname>
          </string-name>
          .
          <article-title>Decision procedures and expressiveness in the temporal logic of branching time</article-title>
          .
          <source>J. Comput. Syst. Sci.</source>
          ,
          <volume>30</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>C.A.R.</given-names>
            <surname>Hoare</surname>
          </string-name>
          .
          <article-title>Communicating sequential processes</article-title>
          .
          <source>Prentice Hall</source>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Roland</surname>
            <given-names>Kindermann</given-names>
          </string-name>
          , Tommi A.
          <string-name>
            <surname>Junttila</surname>
            , and
            <given-names>Ilkka</given-names>
          </string-name>
          <string-name>
            <surname>Niemelä</surname>
          </string-name>
          .
          <article-title>Beyond lassos: Complete SMTbased bounded model checking for timed automata</article-title>
          .
          <source>In FMOODS/FORTE</source>
          , pages
          <fpage>84</fpage>
          -
          <lpage>100</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>T.</given-names>
            <surname>Latvala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Heljanko</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Junttila</surname>
          </string-name>
          .
          <article-title>Simple bounded LTL model checking</article-title>
          .
          <source>In A. J. Hu and A. K</source>
          . Martin, editors,
          <source>FMCAD</source>
          , volume
          <volume>3312</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>186</fpage>
          -
          <lpage>200</lpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Hongyang</given-names>
            <surname>Qu</surname>
          </string-name>
          .
          <article-title>Partial order reduction for model checking interleaved multi-agent systems</article-title>
          .
          <source>In Proceedings of the 9th International Conference on Autonomous Agents and Multi-Agent systems (AAMAS</source>
          '
          <year>2010</year>
          )., pages
          <fpage>659</fpage>
          -
          <lpage>666</lpage>
          . IFAAMAS Press,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>K.</given-names>
            <surname>McMillan</surname>
          </string-name>
          .
          <article-title>Symbolic model checking: An approach to the state explosion problem</article-title>
          . Kluwer Academic Publishers,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          <article-title>Woz´na, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>Bounded model checking for the universal fragment of CTL</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>51</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>135</fpage>
          -
          <lpage>156</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Mikhail</surname>
            <given-names>Ramalho</given-names>
          </string-name>
          , Mauro Freitas, Felipe Sousa, Hendrio Marques, Lucas Cordeiro, and
          <string-name>
            <given-names>Bernd</given-names>
            <surname>Fischer</surname>
          </string-name>
          .
          <article-title>SMT-based bounded model checking of C++ programs</article-title>
          .
          <source>In ECBS</source>
          , pages
          <fpage>147</fpage>
          -
          <lpage>156</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. B.
          <article-title>Woz´na. ACTL properties and bounded model checking</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>63</volume>
          (
          <issue>1</issue>
          ):
          <fpage>65</fpage>
          -
          <lpage>87</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>Liang</given-names>
            <surname>Xu</surname>
          </string-name>
          .
          <article-title>SMT-based bounded model checking for real-time systems (short paper)</article-title>
          .
          <source>In QSIC</source>
          , pages
          <fpage>120</fpage>
          -
          <lpage>125</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>Improving the translation from ECTL to SAT</article-title>
          . Fundamenta Informaticae,
          <volume>85</volume>
          (
          <issue>1-4</issue>
          ):
          <fpage>513</fpage>
          -
          <lpage>531</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>A new translation from ECTL to SAT</article-title>
          . Fundamenta Informaticae,
          <volume>120</volume>
          (
          <issue>3- 4</issue>
          ):
          <fpage>377</fpage>
          -
          <lpage>397</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>