-CDSChecker Readme
-=================
+CDSChecker: A Model Checker for C11 and C++11 Atomics
+=====================================================
Copyright © 2013 Regents of the University of California. All rights reserved.
checking algorithm is described in more detail in this paper (published in
OOPSLA '13):
- <http://demsky.eecs.uci.edu/publications/c11modelcheck.pdf>
+> <http://demsky.eecs.uci.edu/publications/c11modelcheck.pdf>
It is designed to support unit tests on concurrent data structure written using
C/C++ atomics.
tested with LLVM (clang/clang++) and GCC. It likely can be ported to other \*NIX
flavors. We have not attempted to port to Windows.
-You may also refer to the CDSChecker project page:
-
- <http://demsky.eecs.uci.edu/c11modelchecker.php>
-
Getting Started
---------------
If you haven't done so already, you may download CDSChecker using
-[git](http://git-scm.com/):
+[git](http://git-scm.com/) (for those without git, snapshots can be found at the
+Gitweb URLs below):
git clone git://demsky.eecs.uci.edu/model-checker.git
> make benchmarks
> cd benchmarks
-> ./run.sh barrier/barrier -y -m 2 # runs barrier test with fairness/memory liveness
-> ./bench.sh # run all benchmarks and provide timing results
+>
+> # run barrier test with fairness/memory liveness
+> ./run.sh barrier/barrier -y -m 2
+>
+> # Linux reader/write lock test with fairness/memory liveness
+> ./run.sh linuxrwlocks/linuxrwlocks -y -m 2
+>
+> # run all benchmarks and provide timing results
+> ./bench.sh
Running your own code
CDSChecker with the `-u num` option.
+See Also
+--------
+
+The CDSChecker project page:
+
+> <http://demsky.eecs.uci.edu/c11modelchecker.php>
+
+The CDSChecker source and accompanying benchmarks on Gitweb:
+
+> <http://demsky.eecs.uci.edu/git/?p=model-checker.git>
+>
+> <http://demsky.eecs.uci.edu/git/?p=model-checker-benchmarks.git>
+
+
Contact
-------