<!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>On Incremental Satis ability and Bounded Model Checking</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Siert Wieringa Aalto University</institution>
          ,
          <country country="FI">Finland</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1954</year>
      </pub-date>
      <volume>1954</volume>
      <abstract>
        <p />
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Model checking is a formal veri cation technique
Bounded Model Checking (BMC) is a symbolic revolving around proving temporal properties of
model checking technique in which the existence systems modelled as nite state machines. A
of a counterexample of a bounded length is rep- property holds for the model if it holds in all
posresented by the satis ability of a propositional sible execution paths. If the property does not
logic formula. Although solving a single instance hold this can be witnessed by a counterexample,
of the satis ability problem (SAT) is su cient to which is a valid execution path for the model in
decide on the existence of a counterexample for which the property does not hold. Because the
any arbitrary bound typically one starts from model has a nite number of states any in nite
bound zero and solves the sequence of formu- execution of the system includes a loop, and can
las for all consecutive bounds until a satis able thus be represented by a nite sequence of
exeformula is found. This is especially e cient in cution steps. Bounded Model Checking (BMC)
the presence of incremental SAT-solvers, which [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a symbolic model checking technique in
solve sequences of incrementally encoded formu- which the existence of a counterexample
conlas. In this article we analyze empirical results sisting of a bounded number of execution steps
that demonstrate the di erence in run time be- is represented by the satis ability of a
proposihavior between incremental and non-incremental tional logic formula. It thus allows the use of
SAT-solvers. We show a relation between the ob- decision procedures for the propositional satis
served run time behavior and the way in which ability problem (SAT) for model checking.
Dethe activity of variables inside the solver propa- spite the theoretical hardness of SAT [
        <xref ref-type="bibr" rid="ref8">7</xref>
        ] such
degates across bounds. This observation has not cision procedures, called SAT-solvers [
        <xref ref-type="bibr" rid="ref10 ref14">9, 14, 17</xref>
        ],
been previously presented and is particularly have become extremely e cient. BMC is
popuseful for designing solving strategies for paral- ular as a technique for refuting properties, and
lelized model checkers. although BMC based techniques can be used for
proving properties we do not consider such
techniques here.
      </p>
      <p>
        Financially supported by the Academy of Finland A typical BMC encoding will have semantics
project 139402 such that if there exists a counterexample of
length k then there also exists a counterexam- ier to solve than the largest unsatis able ones.
ple of any length greater than k. Thus in prin- A more opportunistic search strategy may
reciple solving a single propositional logic formula duce the total time required to nd a satis able
is su cient to decide on the existence of a coun- formula by skipping over hard instances. Such
terexample for any arbitrary nite bound. How- strategies are natural for environments in which
ever, one typically starts to solve the formula multiple computing nodes are available in
paralcorresponding to bound zero and then solves se- lel, where one may de ne some nodes to use a
quentially each consecutive bound until a coun- more opportunistic strategy than others.
terexample is found. We will refer to this as the The observation on the empirical hardness of
standard sequential search strategy. This strat- the smallest satis able formulas compared to the
egy has the nice property that it always nds a largest unsatis able ones can also be made for
counterexample of minimal length. As with ev- BMC. We attempted to implement
opportunisery bound the representing formula grows larger tic strategies in our parallelized BMC framework
it also avoids solving unnecessarily large formu- Tarmo [
        <xref ref-type="bibr" rid="ref15">18</xref>
        ]. This however turned out to be less
las. Importantly, the performance of this strat- e cient then we would have expected, with
peregy bene ts greatly from the availability of incre- formance degrading for many benchmarks. In
mental SAT-solvers. Incremental SAT-solvers this article we evaluate the performance of the
can solve sequences of formulas that share large incremental solver and compare it against that
parts in common e ciently in a single solver pro- of solving each bound separately. The purpose
cess, allowing reuse of information between for- of this study is not to illustrate that
incremenmulas. tal solvers are more e ective for BMC than
nonincremental ones, as that is well known, but to
understand when and how opportunistic
strate2 Motivation gies can be applied. This is done by
comparing against non-incremental solver run times
beAutomated SAT based planning is a problem cause solvers applying opportunistic strategies
closely related to BMC. It deals with the same bene t less from the incremental interface of the
sequences of parameterized formulas, except solver, as the problem is no longer introduced
that the satis ability of a formula now corre- one bound at a time.
sponds to the existence of a plan of a bounded
length. In [15] evaluation strategies for
planning were suggested that are more opportunis- 3 Preliminaries
tic than the standard sequential search strategy.
      </p>
      <p>
        They suggest to spend some amount of the to- The majority of modern SAT-solvers are based
tal solving e ort at attempting to solve formu- on the Davis Putnam Logemann Loveland
las for bounds ahead of the currently smallest (DPLL) procedure [8]. The DPLL-procedure is
unsolved one. It was inspired by the empirical a backtracking search procedure for SAT that
observation that if a plan exists then amongst builds a partial assignment by iteratively
decidthe smallest satis able formulas in the sequence ing on a branching variable to be assigned a
there are typically formulas that are much eas- value in the partial assignment. When the
partition of the search space de ned by the partial out the need for integrating them into one
appliassignment is without solutions the algorithm cation. The input sequences used were the same
backtracks. In addition to this modern SAT- as the benchmarks used for experimental results
solvers typically employ con ict clause learning presented in [
        <xref ref-type="bibr" rid="ref15">18</xref>
        ]. These sequences were
gener[
        <xref ref-type="bibr" rid="ref14">17</xref>
        ]. Such solvers record a new con ict clause ated with the current state-of-the-art encoding
whenever they are forced to backtrack. They for model checking of linear time temporal logic
then backtrack non-chronologically to a decision properties with past (PLTL) [
        <xref ref-type="bibr" rid="ref2 ref7">2</xref>
        ] as implemented
point at which the con ict clause was still satis- in the model checker NuSMV 2.4.3 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
ed.
      </p>
      <p>The performance of the DPLL-procedure
depends heavily on its branching variable decisions. 4 Run time
A commonly used decision heuristic for clause
learning SAT-solvers is the Variable State Inde- In our experiments we have studied the
behavpendent Decaying Sum (VSIDS) heuristic rst ior of SAT-solvers on problem sequences from
presented in the solver Cha [14]. The idea of BMC regarding both the run time and variable
the heuristic is to favor variables that are in- activity. A selection of the results is presented in
cluded in recently derived con ict clauses. For the gures in this article. For each benchmark
each variable an initially zero value called the ac- there are two sub gures, a run time graph
lativity is maintained. Whenever a con ict clause beled (a) and a variable activity graph labeled
is learnt the activity of all variables that occur in (b). In this section we will focus only on the run
the clause is increased. Periodically the activity time graphs, which have bounds on the x-axis
of all variables is divided by a constant. and time on the y-axis. For each bound a
ver</p>
      <p>
        All results presented in this article were ob- tical bar displays the time it took to solve the
tained using the SAT-solver MiniSAT 2.2.0 [
        <xref ref-type="bibr" rid="ref10">9</xref>
        ]1. formula corresponding to that single bound
usThe solver core was not modi ed but a num- ing the SAT-solver in non-incremental fashion.
ber of small modi cations2 were made in aux- If the solver found unsatis able a solid red bar
iliary routines such as the le parser in order is drawn, if the solver found satis able only the
to read incremental SAT sequences from disk. outline of the bar is drawn in green.
When employing BMC typically the SAT-solver The incremental solver solves using the
stanwill not read the formula sequence from disk but dard sequential strategy and whenever it
comit will rather be integrated into a BMC engine pletes a bound it reports the run time up to
that is generating formulas for new bounds on that point. The points in the graphs marked
the y. We use sequences stored on disk as this with crosses (x) and connected by the thick line
is convenient for testing the performance of the represent these run times.
      </p>
      <p>SAT-solver independently. As our sequences are The thin dotted line connecting the plusses
streamable one can also use them as an interface (+) is representing the cumulative run time of
between a BMC engine and a SAT-solver with- the non-incremental solver, i.e. for each bound
k the value displayed is the sum of all run times
1Available from http://www.minisat.se of the non-incremental solver tests from bound
2Available from http://users.ics.tkk.fi/swiering 0 to k. This demonstrates the time required
)
s
(
1000
500
(a)</p>
      <p>80
bound
20
40
60
100
120
140
0
0
20
40
60
(b)</p>
      <p>80
bound
100
120
140
for the standard sequential strategy using a non- a way that is easy to update when the bound on
incremental solver. This line is intentionally not the length of the execution paths is extended.
in uencing the range of the y-axis, as it typically The solver can be thought of as having tuned
itgrows so large that it would make the other re- self towards verifying the property holds in the
sults hard to see. exact same way over and over.</p>
      <p>From Fig. 1(a) it can be seen that the shortest
lfttsssscbSbbeuhhapmmocAeonrteaui5uTraatgiot7nsenhlltrb-slltdhdeuseoeesarosssnnfreb5attlers1av3hlttxvote0hei.hesiearsr4emaefsdTmaoto.aacepidrhlppfnsblam2reeplodlroaneaeuaogfrmter1ubrleflgfat0tosbynlohuetF5rorcetntmsiuaahuibgfhimnnnrosuen.eoetdrolnsewhi2mancarsrc(os1eut-huawo0liitsnman)silfht6esatcrte,vtasiaarthmvheretibteebrkamhcmeullteouegynbceehirishoefsenrlraoonasesttvfnrsrs-hatfoimeigop.ooluenbdserforna.cems.unlrnod[tltsAe1delechhIevm65airhtneane]moe,tlrgtiemifnshttaaifwtitaa.asrotnoaelnnykyooer-f.l
tttttssoqbFiiioheopuoiaomalgeApeulnvtr.enhoneu,cnsc3rrhetdnoab.etr(tsnucaeatthaodohetn)hFteeusfaiiaroaitgssnvstfetrpywotiidopatecriabwhsrrbmahyseearieettxnnulettrirhaacalntoaeaebyhmtrt.tsrlueylmeoeyopBrgwoafaaulityiekiereltsshdkshifoaiint.focssenftooglrgeirlfwctseoacohtitninerrhuhethmlggehreyeartlueihpspsttnlsdtfoahru1aoutiolirh5nlvlcsbteh0reodfclopr,ookreaturrmrpiitrineoeghdnetssndhehpedpsfenooloteeorathnqrsnofSreceduvgAdrartiieesiunTnnhnpisennygget---opportunistic strategy could possibly be bene
cial. An incremental solver can be started from</p>
      <p>Note that all results presented in this arti- any arbitrary bound, and it is possible to
procle demonstrate that the use of the incremental ceed by increasing the bound by more than one
solver is crucial when performing the standard every time a formula is solved. Using bound
sequential strategy. Fig. 3(a) presents run time increments larger than one is one of the
simbehavior for the benchmark eijk.S1238.S which ple strategies we have tried in our experiments.
is the encoding of model checking a property that This strategy should still be considered
opporholds on all execution paths of the model. This tunistic because of the \missing information" it
implies that the formulas are unsatis able for all causes for the solver, leading it further away from
bounds. Here, the crucial role that incremen- the e ciency of incremental solving, and further
tal SAT solving often plays in solving BMC is towards non-incremental behavior. Given the
even clearer. Whereas a non-incremental solver small margin of error available for
opportuniswould take about 100 seconds to nd that bound tic approaches for satis able benchmarks, and
150 alone is unsatis able, the incremental solver no chance of any performance improvement for
nds this result for all bounds from 0 to 150 se- many unsatis able benchmarks, we need to be
quentially in half that time. This is typical be- careful when applying these approaches. They
havior for many benchmarks corresponding to are however amongst the most natural ways of
model checking a property that holds. It seems diversifying search strategies amongst nodes in
that in these cases the solver learns that the an environment with parallel computation
reproperty holds for all short execution paths in sources.</p>
    </sec>
    <sec id="sec-2">
      <title>Parallel SAT solving</title>
      <p>
        seems that the interrupted solver is missing more
information than just con ict clauses. This was
There are two common architectures for parallel one of the reasons to look at the way the
activSAT-solvers [
        <xref ref-type="bibr" rid="ref13">11</xref>
        ]. The rst is the classic divide- ity of variables propagates across bounds on the
and-conquer approach in which the formula is incremental SAT-solver runs.
split into multiple disjoint subformulas each of
which are then solved on a di erent
computing node [
        <xref ref-type="bibr" rid="ref4">4, 19</xref>
        ]. The second approach is the 6 Variable activity
so called portfolio approach [
        <xref ref-type="bibr" rid="ref12">10</xref>
        ]. The basic idea
is that every computing node is running a SAT- To obtain data on the activity of variables the
solver that is attempting to solve the same for- SAT-solver was modi ed to print the activity of
mula. As modern SAT-solvers make some deci- all variables after each bound it completed. For
sions randomly their run time varies greatly be- each bound we are interested in which variables
tween runs. This makes the portfolio approach are the most active, and especially in whether
surprisingly e cient as it is able to decide the this activity remains high across several bounds.
satis ability of the formula as soon as the fastest We consider a variable hyperactive if its activity
solver nishes. Further diversi cation may be is within the highest 2% of variables with
nonachieved by using di erent parameters on di er- zero activity.
ent computation nodes. Obviously opportunistic The graphs labeled (b) in this article
visualsearch strategies provide means for diversi ca- ize the hyperactive variables. All variables that
tion when we are considering solving incremen- are hyperactive for at least one bound are
reptally encoded SAT formulas in a parallel envi- resented by an integer value on the y-axis of the
ronment. graph. The variables are sorted on the y-axis
      </p>
      <p>The current implementation of our paral- by their index such that if we de ne y(v) as the
lelized BMC framework Tarmo can be seen as integer on the y-axis corresponding to the
varia parallelized incremental SAT-solver using the able with index v then for any v0 &gt; v we have
portfolio approach. Each computing node is run- y(v0) &gt; y(v).
ning an incremental SAT-solver in the conven- Just like in the run time graphs the values on
tional sequential fashion. The novelty of Tarmo the x-axis of the graph represent bounds. If a
is that it allows sharing of con ict clauses be- variable was hyperactive starting from bound k
tween SAT-solvers even if they are working on up to but not including bound k0 &gt; k then a
hordi erent bounds. The solvers operate otherwise izontal line was drawn in the graph from bound
independently, i.e. if one solver solves a formula k to k0 at the y position corresponding to that
this does not stop the other solvers from at- variable. In other words for all variables v and all
tempting to solve that same formula. This choice bound intervals [k; k0) on which v is hyperactive
was made after observing that interrupting a a line was drawn from (k; y(v)) to (k0; y(v)).
solver to make it \catch-up" with another breaks One may observe that generally variables with
its ability to bene t from incremental SAT to the larger indices become active later. This is
befull extent. As we made this observation in an cause in the solver each newly introduced
varienvironment where clause sharing takes place it able is given a larger index than all existing
vari20</p>
      <p>40
60
(a)bound80
60
(b)
bound80
20
40
100
120
140
100
120
140
ables, and for each bound a set of new variables is bound local.
created. For each bound a subset of the new vari- We have generated graphs like the ones
preables becomes hyperactive quickly, as the solver sented in this paper for a large set of
benchruns into con icts on the newly added clauses. marks3. We observe that on benchmarks with</p>
      <p>The hyperactive variables in the satis able a bound global variable activity the run time of
benchmarks irst.dme6 and bc57sensors.p2neg the non-incremental SAT-solver for the largest
are displayed in Fig. 1(b) and Fig. 2(b). Note bound solved is smaller than the time spent for
that although for each bound some of the new the incremental solver to get to the same bound
variables become hyperactive all these vari- and solve it. For benchmarks with a bound
loables tend to remain hyperactive throughout the cal variable activity this is never the case and
whole process. This means that whenever a thus a opportunistic heuristic will not improve
bound is added the solver still runs into new con- performance.</p>
      <p>icts regarding variables that represent the state Although we expect all hard satis able
benchat smaller timepoints. We say that the activity marks to have a bound global variable activity it
of variables is bound global. is not the case that all unsatis able benchmarks
have a bound local variable activity. The
bench</p>
      <p>For the benchmark eijk.S1238.S the activity mark abp4.ptimoneg represented in Fig. 6 is an
graph looks very di erent. For each bound the example of an unsatis able benchmark with a
solver creates con ict clauses including the new bound global variable activity. Apparently the
variables, thus creating a new set of hyperactive correctness of the property is not implied within
variables, but there are only very few variables a short number of execution steps here, and the
for which hyperactivity is maintained. This is in incremental solver needs to evaluate large
porline with observation on the run time behavior of tions of the search space for every bound. Note
this benchmark which also indicate that hardly also that for this benchmark an opportunistic
apany work has to be performed to nd unsatis
ability. We say that the activity of variables is 3Available from http://users.ics.tkk.fi/swiering
7</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>proach may help to nd unsatis able formulas at to the solver. Tolerance to bad choices for such
larger bounds faster. an incremental encoding could be achieved by
doing this in a parallel environment with some
opportunistic nodes.</p>
      <p>In this article we have shown a relation between
the run time of the standard sequential
strategy for bounded model checking and the
activity of decision variables in solvers employing this
strategy. We can use this observation in a
SATsolver to predict during the search whether a
more opportunistic strategy could be bene cial
for the search. This is especially useful for
parallel solvers in which di erent threads may be
executing di erent strategies.</p>
      <p>
        It is also easy to envision how these techniques
could be useful for model checkers that use a
combination of truly di erent model checking
techniques such as PdTrav [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. One could
easily engineer a system which would do BMC for
some amount of time, after which the variable
activity could play a role in the decision on how
to continue. If the variable activity appears to
be bound local then the property is likely to hold
for the model and thus we may want to start
doing a complete model checking technique based
on for example k-induction [16], Craig
interpolation [
        <xref ref-type="bibr" rid="ref11">13</xref>
        ] or BDDs [12] to prove this.
      </p>
      <p>Another observation we made is that for
deciding the satis ability of the last formula in an
incrementally encoded sequence of formulas it
can sometimes be faster to solve all formulas in
the sequence. This raises the question whether
other applications of SAT solving that currently
rely on solving a single SAT formula could
bene t from the use of incremental problem
encodings. Such encodings allow enforcing a search
direction on the SAT-solver that is natural to
the application and therefore possibly bene cial</p>
      <p>Symbolic model</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Armin</given-names>
            <surname>Biere</surname>
          </string-name>
          , Alessandro Cimatti,
          <string-name>
            <surname>Edmund M. Clarke</surname>
            , and
            <given-names>Yunshan</given-names>
          </string-name>
          <string-name>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Symbolic model checking without BDDs</article-title>
          . In Rance Cleaveland, editor,
          <source>TACAS</source>
          , volume
          <volume>1579</volume>
          of Lecture Notes in Computer Science, pages
          <volume>193</volume>
          {
          <fpage>207</fpage>
          . Springer,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Armin</given-names>
            <surname>Biere</surname>
          </string-name>
          , Keijo Heljanko, Tommi A.
          <string-name>
            <surname>Junttila</surname>
            , Timo Latvala, and
            <given-names>Viktor</given-names>
          </string-name>
          <string-name>
            <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="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Armin</given-names>
            <surname>Biere</surname>
          </string-name>
          and
          <string-name>
            <given-names>Toni</given-names>
            <surname>Jussila</surname>
          </string-name>
          .
          <article-title>Hardware model checking competition 2007 (HWMCC07). Organized as a satellite event to CAV 2007</article-title>
          , Berlin, Germany, July 3-
          <issue>7</issue>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Max</surname>
            <given-names>Bohm and Ewald</given-names>
          </string-name>
          <string-name>
            <surname>Speckenmeyer</surname>
          </string-name>
          .
          <article-title>A fast parallel SAT-solver - e cient workload balancing</article-title>
          . Ann. Math. Artif. Intell.,
          <volume>17</volume>
          (
          <issue>3- 4</issue>
          ):
          <volume>381</volume>
          {
          <fpage>400</fpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Gianpiero</given-names>
            <surname>Cabodi</surname>
          </string-name>
          , Paolo Camurati, Luz Garcia, Marco Murciano, Sergio Nocco, and
          <string-name>
            <given-names>Stefano</given-names>
            <surname>Quer</surname>
          </string-name>
          .
          <article-title>Trading-o SAT search and variable quanti cations for e ective unbounded model checking</article-title>
          .
          <source>In Alessandro Cimatti and Robert B</source>
          . Jones, editors,
          <source>FMCAD</source>
          , pages
          <article-title>1{8</article-title>
          . IEEE,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Alessandro</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <surname>Edmund M. Clarke</surname>
          </string-name>
          , Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Se- in
          <source>Computer Science</source>
          , pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          12. Springer, bastiani, and Armando Tacchella.
          <source>NuSMV</source>
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>2: An opensource tool for symbolic model checking</article-title>
          . In Ed Brinksma and Kim Guld- [14]
          <string-name>
            <surname>Matthew</surname>
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Moskewicz</surname>
          </string-name>
          , Conor F. Madistrand Larsen, editors,
          <source>CAV</source>
          , volume
          <volume>2404</volume>
          of gan,
          <source>Ying Zhao, Lintao Zhang, and Sharad Lecture Notes in Computer Science</source>
          , pages Malik.
          <source>Cha : Engineering an e cient SAT 359{364</source>
          . Springer,
          <year>2002</year>
          . solver.
          <source>In DAC</source>
          , pages
          <volume>530</volume>
          {
          <fpage>535</fpage>
          . ACM,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Stephen</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Cook.</surname>
          </string-name>
          theorem
          <article-title>-proving procedures</article-title>
          .
          <source>pages 151{158. ACM</source>
          ,
          <year>1971</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          The complexity of [15]
          <string-name>
            <surname>Jussi</surname>
            <given-names>Rintanen</given-names>
          </string-name>
          , Keijo Heljanko, and Ilkka In STOC, Niemela.
          <article-title>Planning as satis ability: parallel plans and algorithms for plan search</article-title>
          . Artif. Intell.,
          <volume>170</volume>
          (
          <fpage>12</fpage>
          -13):
          <volume>1031</volume>
          {
          <fpage>1080</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Niklas</given-names>
            <surname>Een</surname>
          </string-name>
          and
          <article-title>Niklas Sorensson. An extensible SAT-solver</article-title>
          .
          <source>In Enrico Giunchiglia and Armando Tacchella</source>
          , editors,
          <source>SAT</source>
          , volume
          <volume>2919</volume>
          of Lecture Notes in Computer Science, pages
          <volume>502</volume>
          {
          <fpage>518</fpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Kenneth</surname>
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>McMillan</surname>
          </string-name>
          .
          <article-title>Applications of Craig interpolants in model checking</article-title>
          . In Nicolas Halbwachs and Lenore D. Zuck, editors,
          <source>TACAS</source>
          , volume
          <volume>3440</volume>
          of Lecture Notes
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Youssef</surname>
            <given-names>Hamadi</given-names>
          </string-name>
          , Sad Jabbour, and Lakhdar Sais.
          <article-title>ManySAT: A parallel SAT solver</article-title>
          .
          <source>JSAT</source>
          ,
          <volume>6</volume>
          (
          <issue>4</issue>
          ):
          <volume>245</volume>
          {
          <fpage>262</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Antti</given-names>
            <surname>Eero Johannes</surname>
          </string-name>
          <article-title>Hyvarinen, Tommi A. Junttila, and Ilkka Niemela. Partitioning search spaces of a randomized search</article-title>
          .
          <source>In Roberto Serra and Rita Cucchiara</source>
          , editors,
          <source>AI*IA</source>
          , volume
          <volume>5883</volume>
          of Lecture Notes in Computer Science, pages
          <volume>243</volume>
          {
          <fpage>252</fpage>
          . Springer, [
          <volume>19</volume>
          ]
          <string-name>
            <given-names>Hantao</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Jo</surname>
          </string-name>
          <article-title>~ao P. Marques Silva and Karem A. Sakallah. GRASP: A search algorithm for propositional satis ability</article-title>
          .
          <source>IEEE Trans. Computers</source>
          ,
          <volume>48</volume>
          (
          <issue>5</issue>
          ):
          <volume>506</volume>
          {
          <fpage>521</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Siert</surname>
            <given-names>Wieringa</given-names>
          </string-name>
          , Matti Niemenmaa, and
          <string-name>
            <given-names>Keijo</given-names>
            <surname>Heljanko</surname>
          </string-name>
          .
          <article-title>Tarmo: A framework for parallelized bounded model checking</article-title>
          . In Lubos Brim and Jaco van de Pol, editors,
          <source>PDMC</source>
          , volume
          <volume>14</volume>
          <source>of EPTCS</source>
          , pages
          <volume>62</volume>
          {
          <fpage>76</fpage>
          ,
          <year>2009</year>
          .
          <article-title>Maria Paola Bonacina, and Jieh Hsiang. PSATO: A distributed propositional prover and its application to quasigroup problems</article-title>
          .
          <source>J. Symb. Comput.</source>
          ,
          <volume>21</volume>
          (
          <issue>4</issue>
          ):
          <volume>543</volume>
          {
          <fpage>560</fpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>