[llvm-commits] CVS: llvm-www/pubs/2008-08-SPIN-Pancam.html 2008-08-SPIN-Pancam.pdf
Chris Lattner
sabre at nondot.org
Sun Jul 20 14:10:16 PDT 2008
Changes in directory llvm-www/pubs:
2008-08-SPIN-Pancam.html added (r1.1)
2008-08-SPIN-Pancam.pdf added (r1.1)
---
Log message:
add another paper.
---
Diffs of the changes: (+59 -0)
2008-08-SPIN-Pancam.html | 59 +++++++++++++++++++++++++++++++++++++++++++++++
2008-08-SPIN-Pancam.pdf | 0
2 files changed, 59 insertions(+)
Index: llvm-www/pubs/2008-08-SPIN-Pancam.html
diff -c /dev/null llvm-www/pubs/2008-08-SPIN-Pancam.html:1.1
*** /dev/null Sun Jul 20 16:10:07 2008
--- llvm-www/pubs/2008-08-SPIN-Pancam.html Sun Jul 20 16:09:57 2008
***************
*** 0 ****
--- 1,59 ----
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <link rel="stylesheet" href="http://llvm.org/llvm.css" type="text/css" media="screen" />
+ <title>Verifying Multi-threaded C Programs with SPIN</title>
+ </head>
+ <body>
+
+ <div class="pub_title">
+ Verifying Multi-threaded C Programs with SPIN
+ </div>
+ <div class="pub_author">
+ Anna Zaks and Amir Pnueli
+ </div>
+
+ <h2>Abstract:</h2>
+ <blockquote>
+ A key challenge in model checking software is the difficulty
+ of verifying properties of implementation code, as opposed to checking an
+ abstract algorithmic description. We describe a tool for verifying
+ multithreaded C programs that uses the SPIN model checker. Our tool works
+ by compiling a multi-threaded C program into a typed bytecode format,
+ and then using a virtual machine that interprets the bytecode and
+ computes new program states under the direction of SPIN. Our virtual
+ machine is compatible with most of SPIN's search options and optimization
+ flags, such as bitstate hashing and multi-core checking. It provides
+ support for dynamic memory allocation (the malloc and free family of
+ functions), and for the pthread library, which provides primitives often
+ used by multi-threaded C programs. A feature of our approach is that it
+ can check code after compiler optimizations, which can sometimes introduce
+ race conditions. We describe how our tool addresses the state space
+ explosion problem by allowing users to define data abstraction functions
+ and to constrain the number of allowed context switches. We also describe
+ a reduction method that reduces context switches using dynamic
+ knowledge computed on-the-fly, while being sound for both safety and
+ liveness properties. Finally, we present initial experimental results with
+ our tool on some small examples.
+ </blockquote>
+
+ <h2>Bibtex:</h2>
+ <pre>
+ @inproceedings{ZJ2008,
+ Author = {Anna Zaks and Rajeev Joshi},
+ Title = {Verifying Multi-threaded {C} Programs with {SPIN}},
+ Booktitle = {15th International SPIN Workshop on Model Checking of Software (SPIN 2008)},
+ Address = {Los Angeles, USA},
+ Month = {August},
+ Year = 2008
+ }
+ </pre>
+
+ <h2>Download:</h2>
+ <ul>
+ <li><a href="2008-08-SPIN-Pancam.pdf">Verifying Multi-threaded C Programs with SPIN</a> (PDF)</li>
+ </ul>
+
+ </body>
+ </html>
Index: llvm-www/pubs/2008-08-SPIN-Pancam.pdf
More information about the llvm-commits
mailing list