wiki:WikiStart

Version 122 (modified by wuwenhao, 8 years ago) ( diff )

--

CIVL: The Concurrency Intermediate Verification Language

About

CIVL is a framework encompassing…

  • a programming language, CIVL-C, which adds to C a number of concurrency primitives, as well as the ability to define functions in any scope. Together, these features make for a very expressive concurrent language that can faithfully represent programs using various APIs and parallel languages, such as MPI, OpenMP, CUDA, and Chapel. CIVL-C also provides a number of primitives supporting verification.
  • a model checker which uses symbolic execution to verify a number of safety properties of CIVL-C programs. The model checker can also be used to verify that two CIVL-C programs are functionally equivalent.
  • a number of translators from various commonly-used concurrency languages/APIs to CIVL-C (currently, MPI, OpenMP, Pthreads, and CUDA).

Downloads

Examples & Case Studies

Documents & Publications

How to Cite CIVL

@Inproceedings{siegel-etal:2015:civl_sc,
  author = {Stephen F.\ Siegel and Manchun Zheng and Ziqing Luo and
            Timothy K.\ Zirkel and Andre V.\ Marianiello and John G.\ Edenhofner
            and Matthew B.\ Dwyer and Michael S.\ Rogers},
  title = {{CIVL}: The Concurrency Intermediate Verification Language},
  booktitle = {SC15: International Conference for High Performance
               Computing, Networking, Storage and Analysis, Proceedings},
  series = {SC '15},
  year = {2015},
  month = {Nov},
  publisher = {IEEE Press},
  address = {Piscataway, NJ, USA},
  pages = {61:1-61:12}
}

Bug Report

To report a bug in CIVL, please send an email to civl-dev AT googlegroups DOT com.
Please include as many details as possible, including the civl command, source files, the civl version, the error message or exception, etc. It would be helpful for us to trace the bug if you also submit your source programs as attachments.

Developers

  • Current Developers: Stephen F. Siegel, Ziqing Luo and Wenhao Wu
  • Other Contributors: Andre Marianiello, John Edenhofner, Manchun Zheng, Matthew Dwyer, Michael Rogers, Mitch Gerrard, Timothy Zirkel, and Yihao Yan.

DeveloperPage

Note: See TracWiki for help on using the wiki.