| Version 129 (modified by , 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
- A Brief Tour of CIVL with Examples
- CIVL Solutions to VerifyThis 2016 Challenges
- Towards Self-Verification in Finite Difference Code Generation
- Verifying Properties of Differentiable Programs
Documents & Publications
- CIVL Manual, M.B. Dwyer, J. Edenhofner, G. Gopalakrishnan, A. Marianiello, Z. Luo, Z. Rakamaric, M. Rogers, S.F. Siegel, M. Zheng and T.K. Zirkel
- CIVL: The Concurrency Intermediate Verification Language, S.F. Siegel, M. Zheng, Z. Luo, T.K. Zirkel, A.V. Marianiello, J.G. Edenhofner, M.B. Dwyer and M.S. Rogers, SC'15.
- Verification of MPI programs using CIVL, Z. Luo, M. Zheng, and S.F. Siegel, EuroMPI'17.
- DOE Report of the HPC Correctness Summit, G. Gopalakrishnan, P.D. Hovland, C. Iancu, S. Krishnamoorthy, I. Laguna, R.A. Lethin, K. Sen, S.F. Siegel and A. Solar-Lezama, DOE TechReport'17.
- CIVL Solutions to VerifyThis 2016 Challenges, Stephen F. Siegel, VerifyThis'16.
- CIVL: Applying a General Concurrency Verification Framework to C/Pthreads Programs Competition Contribution, M. Zheng, J.G. Edenhofner, Z. Luo, M.J. Gerrard, M.S. Rogers, M.B. Dwyer, and S.F. Siegel, TACAS'16
- CIVL: Formal Verification of Parallel Programs, M. Zheng, M.S. Rogers, Z. Luo, M.B. Dwyer, and S.F. Siegel, ASE'15.
- Tech Report: CIVL: The Concurrency Intermediate Verification Language, S.F. Siegel, M.B. Dwyer, G. Gopalakrishnan, Z. Luo, Z. Rakamaric, R. Thakur, M. Zheng, T.K. Zirkel, Technical Report UD-CIS-2014/001.
- VSL Publication List
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 Reports
To report a bug in CIVL, send an email to civl-dev at googlegroups dot com.
Include as many details as possible, such as the CIVL command, source files (these may be attached), the CIVL version,
and the output, including any error message.
Developers
- Current Developers: Ziqing Luo, Stephen F. Siegel and Wenhao Wu
- Other Contributors: Matthew Dwyer, John Edenhofner, Mitchell Gerrard, Andre Marianiello, Michael Rogers, Yihao Yan, Manchun Zheng and Timothy Zirkel.
Note:
See TracWiki
for help on using the wiki.
