<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://www.foldr.org/~michaelw/log/theme/style/rss.css" type="text/css"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:lang="en">

	<channel>
		<title>Random Bits and Pieces :: science/publications</title>
		<link>http://www.foldr.org/~michaelw/log</link>
		<description>Michael Weber</description>
		<language>en</language>
		<lastBuildDate>Mon, 28 Jan 2008 11:17:00 GMT</lastBuildDate>
		<generator>blosxom ver.2.0</generator>


		<item>
			<title>A Multi-Core Solver for Parity Games</title>
			<link>http://www.foldr.org/~michaelw/log/science/publications/pdmc-2008-mc-small-progress</link>
			<guid isPermaLink="true">http://www.foldr.org/~michaelw/log/science/publications/pdmc-2008-mc-small-progress</guid>
			<category>http://www.foldr.org/~michaelw/log/science/publications/</category>
			<pubDate>Mon, 28 Jan 2008 11:17:00 GMT</pubDate>
			<content:encoded><![CDATA[
<img src="http://www.foldr.org/~michaelw/log/static/science/publications/pdf.png" alt="New Paper" />

<p>
  <a
  href="http://www.foldr.org/~michaelw/papers/pdmc-2008-mc-small-progress.pdf">A
  Multi-Core Solver for Parity Games</a> (accepted
  for publication
  to <a href="http://pdmc.informatik.tu-muenchen.de/PDMC08/">PDMC 2008</a>).
</p>

<h2>Abstract</h2>

<blockquote>
<p>We describe a parallel algorithm for solving parity games, with
  applications in, e.g., modal &mu;-calculus model checking with
  arbitrary alternations, and (branching) bisimulation checking.  The
  algorithm is based on Jurdzinski's Small Progress
  Measures. Actually, this is a class of algorithms, depending on a
  selection heuristics.
</p>
<p>Our algorithm operates lock-free, and mostly wait-free (except for
  infrequent termination detection), and thus allows maximum
  parallelism.  Additionally, we conserve memory by avoiding storage
  of predecessor edges for the parity graph through strictly
  forward-looking heuristics.
</p>
<p>We evaluate our multi-core implementation's behaviour on parity
  games obtained from &mu;-calculus model checking problems for a set
  of communication protocols, randomly generated problem instances,
  and parametric problem instances from the literature.
</p>
</blockquote>
]]></content:encoded>
			<comments>http://www.foldr.org/~michaelw/log/science/publications/pdmc-2008-mc-small-progress#writeback</comments>
		</item>

		<item>
			<title>Revisiting Resistance Speeds Up I/O-Efficient LTL Model Checking</title>
			<link>http://www.foldr.org/~michaelw/log/science/publications/tacas-2008-io-map-rr</link>
			<guid isPermaLink="true">http://www.foldr.org/~michaelw/log/science/publications/tacas-2008-io-map-rr</guid>
			<category>http://www.foldr.org/~michaelw/log/science/publications/</category>
			<pubDate>Sun, 27 Jan 2008 11:17:00 GMT</pubDate>
			<content:encoded><![CDATA[
<img src="http://www.foldr.org/~michaelw/log/static/science/publications/pdf.png" alt="New Paper" />

<p>
  <a
  href="http://www.foldr.org/~michaelw/papers/tacas-2008-io-map-rr.pdf"
>Revisiting Resistance Speeds Up I/O-Efficient LTL Model Checking</a> (accepted
  for publication
  to <a href="http://www.cs.stonybrook.edu/~tacas2008/">TACAS 2008</a>).
</p>

<h2>Abstract</h2>

<blockquote>
  <p>Revisiting resistant graph algorithms are those that can tolerate
  re-exploration of edges without yielding incorrect results.
  Revisiting resistant I/O efficient graph algorithms exhibit
  considerable speed-up in practice in comparison to non-revisiting
  resistant algorithms.  In the paper we present a new revisiting
  resistant I/O efficient LTL model checking algorithm.  We analyze
  its theoretical I/O complexity and we experimentally compare its
  performance to already existing I/O efficient LTL model checking
  algorithms.
</p>
</blockquote>
]]></content:encoded>
			<comments>http://www.foldr.org/~michaelw/log/science/publications/tacas-2008-io-map-rr#writeback</comments>
		</item>

		<item>
			<title>A Database Approach to Distributed State Space Generation</title>
			<link>http://www.foldr.org/~michaelw/log/science/publications/pdmc-2007-mcrl-db</link>
			<guid isPermaLink="true">http://www.foldr.org/~michaelw/log/science/publications/pdmc-2007-mcrl-db</guid>
			<category>http://www.foldr.org/~michaelw/log/science/publications/</category>
			<pubDate>Fri, 22 Jun 2007 09:34:05 GMT</pubDate>
			<content:encoded><![CDATA[
<img src="http://www.foldr.org/~michaelw/log/static/science/publications/pdf.png" alt="New Paper" />

<p>
  <a
  href="http://www.foldr.org/~michaelw/papers/pdmc-2007-mcrl-db.pdf">A Database Approach to Distributed State Space Generation</a> (accepted
  for publication
  to <a href="http://pdmc.informatik.tu-muenchen.de/PDMC07/">PDMC 2007</a>).
</p>

<h2>Abstract</h2>

<blockquote>
<p>We study distributed state space generation on a cluster of
workstations. It is explained why state space partitioning by a global
hash function is problematic when states contain variables from
unbounded domains, such as lists or other recursive datatypes. Our
solution is to introduce a database which maintains a global numbering
of state values. We also describe tree-compression, a technique of
recursive state folding, and show that it is superior to manipulating
plain state vectors.
</p>

<p>This solution is implemented and linked to
the <a href="http://www.cwi.nl/~mcrl/">&#956;CRL toolset</a>, where
state values are implemented as maximally shared terms
(ATerms).  However, it is applicable to other models as well, e.g.,
<a href="http://spinroot.com/">PROMELA</a> models via
the <a href="http://www.cwi.nl/~weber/nips/">NIPS</a> virtual
machine. Our experiments show the trade-offs between keeping the
database global, replicated, or local, depending on the available
network bandwidth and latency.
</p>
</blockquote>

<p>
  The work described here has been in successful production use for
  some time.  Still, during the measurements of the paper, we got a
  truckload of ideas for improvements.  Watch this space...
</p>

<p>
Fun war story: when measuring, we found that 2% of the zillion queries
between the cluster nodes and the database were unproportionally slow:
They took a whopping 200 milliseconds round-trip!  With some analyzer
gear plugged into the switch and the help of our networking guys, we
were able to predict when one of the slow messages would appear
(confirmed by program instrumentation).  In the end we traced it down
to a driver problem.  Switching to a different brand of network cards
made the problem go away.
</p>
]]></content:encoded>
			<comments>http://www.foldr.org/~michaelw/log/science/publications/pdmc-2007-mcrl-db#writeback</comments>
		</item>

		<item>
			<title>An Embeddable Virtual Machine for State Space Generation</title>
			<link>http://www.foldr.org/~michaelw/log/science/publications/spin-2007-vmssg</link>
			<guid isPermaLink="true">http://www.foldr.org/~michaelw/log/science/publications/spin-2007-vmssg</guid>
			<category>http://www.foldr.org/~michaelw/log/science/publications/</category>
			<pubDate>Fri, 11 May 2007 07:45:00 GMT</pubDate>
			<content:encoded><![CDATA[
<img src="http://www.foldr.org/~michaelw/log/static/science/publications/pdf.png" alt="New Paper" />

<p>
  <a
  href="http://www.foldr.org/~michaelw/papers/spin-2007-vmssg.pdf">An
  Embeddable Virtual Machine for State Space Generation</a> (accepted
  for publication
  to <a href="http://andorfer.cs.uni-dortmund.de/~edelkamp/spin/">SPIN
  2007</a>).
</p>

<h2>Abstract</h2>

<blockquote>
  The semantics of modelling languages are not always specified in a
  precise and formal way, and their rather complex underlying models
  make it a non-trivial exercise to reuse them in newly developed
  tools.  We report on experiments with a virtual machine-based
  approach for state space generation.  The virtual machine's (VM)
  byte-code language is straightforwardly implementable, facilitates
  reuse and makes it an adequate target for translation of
  higher-level languages like
  the <a href="http://spinroot.com/">SPIN</a> model
  checker's <a href="http://spinroot.com/spin/Man/">PROMELA</a>, or
  even C.  As added value, it provides efficiently executable
  operational semantics for modelling languages.  Several tools have
  been built on top of the VM implementation we developed, to evaluate
  the benefits of the proposed approach.
</blockquote>

<p>
This is one pixel in a <a
href="http://homepages.cwi.nl/~weber/nips/">bigger picture</a>.
</p>
]]></content:encoded>
			<comments>http://www.foldr.org/~michaelw/log/science/publications/spin-2007-vmssg#writeback</comments>
		</item>

		<item>
			<title>"To Store or Not To Store" Reloaded</title>
			<link>http://www.foldr.org/~michaelw/log/science/publications/fmics-2006-disk-mc</link>
			<guid isPermaLink="true">http://www.foldr.org/~michaelw/log/science/publications/fmics-2006-disk-mc</guid>
			<category>http://www.foldr.org/~michaelw/log/science/publications/</category>
			<pubDate>Tue, 25 Jul 2006 21:15:00 GMT</pubDate>
			<content:encoded><![CDATA[
<img src="http://www.foldr.org/~michaelw/log/static/science/publications/pdf.png" alt="New Paper" />

<p>
  Together with <a href="http://www.pst.ifi.lmu.de/~hammer/">Moritz
  Hammer</a>, I wrote a paper on how to explore very large state spaces:
  <a href="http://www.foldr.org/~michaelw/papers/fmics-2006-disk-mc.pdf"><q>To Store or Not to Store</q>
  Reloaded: Reclaiming Memory on Demand</a> (accepted for publication
  to <a href="http://fmics06.informatik.tu-muenchen.de/">FMICS
  2006</a>).
</p>

<h2>Abstract</h2>

<blockquote>
Behrmann et al. posed the question whether "To Store or Not To Store" states
during reachability analysis, in order to counter the effects of the well-known
state space explosion problem in explicit-state model checking.  Their answer 
was to store not all but only some strategical states.  They pay in run-time 
if the answer too often is "Not To Store".
  
We propose a different strategy to adaptively trade time for space: "To
Store" as many states as memory limits permit.  If memory runs full, we
gradually swap states out to secondary storage.  We are careful to minimize
revisits, and I/O overhead, and also stay sound, i.e. on termination it is
guaranteed that the full state space has been explored.  It is also available
for counterexample reconstruction.  In our experiments we tackled state spaces
of industrial-sized models with more than 10<sup>9</sup> explicit states with still 
modest storage requirements.  
</blockquote>

<p>
We actually have a practical application for
this: <a
href="http://homepages.cwi.nl/~weber/theses/mcess/">automatically
finding subtle bugs in Embedded Systems software</a>.
</p>
]]></content:encoded>
			<comments>http://www.foldr.org/~michaelw/log/science/publications/fmics-2006-disk-mc#writeback</comments>
		</item>

	</channel>
</rss>
