source: CIVL/docs/index.md@ 95af735

1.23 2.0 main
Last change on this file since 95af735 was 8ae32f6, checked in by Stephen Siegel <siegel@…>, 13 days ago

Updates to "About" section of main doc.

  • Property mode set to 100644
File size: 5.9 KB
Line 
1# The CIVL Model Checker
2
3## About
4
5The CIVL model checker is a verification tool for sequential or parallel
6programs.
7It targets primarily C programs, including parallel C programs that use
8OpenMP or MPI, and CUDA-C programs.
9The general verification approach is based on model checking and symbolic execution.
10
11The verifier uses a concurrency intermediate verification language, CIVL-C.
12Users may write in CIVL-C directly; this is a good way to prototype
13algorithms. One may also start from standard C (or CUDA-C), which
14the tool first translates to CIVL-C. CIVL may also be applied to programs
15composed of multiple translation units, some of which are in CIVL-C
16and others in C or CUDA-C.
17
18CIVL can verify a number of safety properties, including absence of assertion
19violations, deadlocks, memory leaks, illegal pointer dereferences, out-of-bound
20array indexes, and divisions by zero. In most cases, this requires placing
21relatively small bounds on the size of inputs and/or the numbers of threads or
22processes. In any case, when a violation is found, detailed diagnostic
23information is provided, including a (minimal) execution trace terminating
24in a violating state.
25
26CIVL currently supports only subsets of the languages and language
27extensions mentioned above. We are continually expanding these subsets,
28prioritizing the most commonly-used language features.
29
30
31## Downloads & Links
32
33* [Latest stable release](http://vsl.cis.udel.edu/lib/sw/civl/current/latest/)
34* [Latest unstable release](http://vsl.cis.udel.edu/lib/sw/civl/trunk/latest/)
35* [Older releases](http://vsl.cis.udel.edu/lib/sw/civl/)
36* [CIVL Web App](http://civl.cis.udel.edu/app/)
37
38## Documentation
39* [Introduction](introduction.md)
40* [CIVL-C Fundamentals](fundamentals.md)
41* [Language Manual](language.md)
42* [Libraries](libraries.md)
43* [Command Line Interface](cli.md)
44* [Examples](examples.md)
45
46## Publications
47* [Symbolic Execution and Deductive Verification Approaches to VerifyThis 2017 Challenges](https://vsl.cis.udel.edu/pubs/isola18.html), Ziqing Luo and Stephen F. Siegel, ISoLA'18.
48* [Verifying Properties of Differentiable Programs](https://vsl.cis.udel.edu/pubs/math_properties_sas18.html), J. Hückelheim, Z. Luo, S.H.K. Narayanan, S.F. Siegel, and P.D. Hovland, SAS'18.
49* [Towards Self-Verification in Finite Difference Code Generation](https://vsl.cis.udel.edu/pubs/correctness_2017_towards.html), J. Hückelheim, Z. Luo, F. Luporini, N. Kukreja, M. Lange, G. Gorman, S.F. Siegel, M. Dwyer, and P.D. Hovland, Correctness'17.
50* [CIVL Manual](https://vsl.cis.udel.edu/lib/sw/civl/civl-manual.pdf), M.B. Dwyer, J. Edenhofner, G. Gopalakrishnan, A. Marianiello, Z. Luo, Z. Rakamaric, M. Rogers, S.F. Siegel, M. Zheng, and T.K. Zirkel
51* [CIVL: The Concurrency Intermediate Verification Language](https://vsl.cis.udel.edu/pubs/civl_sc_2015.html), 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.
52* [Verification of MPI programs using CIVL](https://vsl.cis.udel.edu/pubs/civl_eurompi_2017.html), Z. Luo, M. Zheng, and S.F. Siegel, EuroMPI'17.
53* [DOE Report of the HPC Correctness Summit](https://science.energy.gov/~/media/ascr/pdf/programdocuments/docs/2017/HPC_Correctness_Report.pdf), 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.
54* [CIVL Solutions to VerifyThis 2016 Challenges](https://vsl.cis.udel.edu/pubs/civl_verifythis_2016.html), Stephen F. Siegel, VerifyThis'16.
55* [CIVL: Applying a General Concurrency Verification Framework to C/Pthreads Programs Competition Contribution](https://vsl.cis.udel.edu/pubs/civl_svcomp_2016.html), M. Zheng, J.G. Edenhofner, Z. Luo, M.J. Gerrard, M.S. Rogers, M.B. Dwyer, and S.F. Siegel, TACAS'16
56* [CIVL: Formal Verification of Parallel Programs](https://vsl.cis.udel.edu/pubs/civl_ase_2015.html), M. Zheng, M.S. Rogers, Z. Luo, M.B. Dwyer, and S.F. Siegel, ASE'15.
57* [Tech Report: CIVL: The Concurrency Intermediate Verification Language](https://vsl.cis.udel.edu/pubs/civl_tr_2014.html), S.F. Siegel, M.B. Dwyer, G. Gopalakrishnan, Z. Luo, Z. Rakamaric, R. Thakur, M. Zheng, and T.K. Zirkel, Technical Report UD-CIS-2014/001.
58* [VSL Publication List](https://vsl.cis.udel.edu/pubs/index.html)
59
60## How to Cite CIVL
61```bibtex
62@Inproceedings{siegel-etal:2015:civl_sc,
63 author = {Stephen F.\ Siegel and Manchun Zheng and Ziqing Luo and
64 Timothy K.\ Zirkel and Andre V.\ Marianiello and John G.\ Edenhofner
65 and Matthew B.\ Dwyer and Michael S.\ Rogers},
66 title = {{CIVL}: The Concurrency Intermediate Verification Language},
67 booktitle = {SC15: International Conference for High Performance
68 Computing, Networking, Storage and Analysis, Proceedings},
69 series = {SC '15},
70 year = {2015},
71 month = {Nov},
72 publisher = {IEEE Press},
73 address = {Piscataway, NJ, USA},
74 pages = {61:1-61:12},
75 doi = {10.1145/2807591.2807635}
76}
77```
78
79## Bug Reports
80To report a bug in CIVL, either create a [GitHub issue](https://github.com/verified-software-lab/civl/issues) or send an email to `civl-dev@googlegroups.com`.
81Include 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.
82
83## Developers
84* Current Developers: [Stephen Siegel](https://vsl.cis.udel.edu/siegel.html) and Alex Wilton
85* Previous Contributors: Matthew Dwyer, John Edenhofner, Mitchell Gerrard, Ziqing Luo, Andre Marianiello, Michael Rogers, Wenhao Wu, Yihao Yan, Manchun Zheng and Timothy Zirkel
86
87[DeveloperPage](https://vsl.cis.udel.edu/trac/civl/wiki/DeveloperPage)
88
89## License
90CIVL is copyright from 2013 to 2026, Verified Software Laboratory, Department of Computer and Information Sciences, University of Delaware.
91
92CIVL is distributed under the terms of the [GNU General Public License v3](https://www.gnu.org/licenses/gpl.html). (See the directory licenses in the distribution for details.)
Note: See TracBrowser for help on using the repository browser.