CIVL is a framework for the analysis and verification of concurrent programs. The front-end translates C programs that use subsets of Pthreads, MPI, OpenMP, or CUDA--alone or in combination--to an intermediate verification language CIVL-C. The back-end uses symbolic execution and model checking techniques to verify a number of safety properties of a CIVL-C program, such as absence of assertion violations, deadlocks, or out-of-bound indexes. We submit CIVL for verifying Pthreads programs in the concurrency category.
['Manchun Zheng', 'John G. Edenhofner', 'Ziqing Luo', 'Mitchell J. Gerrard', 'Michael S. Rogers', 'Matthew B. Dwyer', 'Stephen F. Siegel']
CIVL: Applying a General Concurrency Verification Framework to C/Pthreads Programs Competition Contribution