VSL Publications

CIVL: The Concurrency Intermediate Verification Language

Stephen F. Siegel, Matthew B. Dwyer, Ganesh Gopalakrishnan, Ziqing Luo, Zvonimir Rakamaric, Rajeev Thakur, Manchun Zheng, Timothy K. Zirkel, Technical Report UD-CIS-2014/001, Department of Computer & Information Sciences, University of Delaware, February 19, 2014. Submitted for publication
Recent years have witnessed an explosion in the number of programming languages and language extensions dealing with concurrency. Examples include message-passing libraries (MPI-3), multithreading and GPU language extensions such as OpenMP, Pthreads, OpenCL, and CUDA, and entirely new languages such as Chapel. This multitude creates a serious challenge for developers of software verification tools: it takes enormous effort to develop such tools, but each development effort typically targets one small part of the concurrency landscape, with little sharing of techniques and code between efforts. To address this problem, we present CIVL: a Concurrency Intermediate Verification Language. CIVL provides a concurrency model suciently flexible to represent programs in a wide variety of parallel languages, including those listed above. We have realized CIVL as a dialect of C with new primitives for concurrency and others to facilitate specification and verification. We have also developed a tool that combines model checking and symbolic execution to verify or refute a number of properties of CIVL programs, such as freedom from deadlock and assertion violations.
  1. civl_tr_2014.pdf (paper)
  2. civl_tr_experiments_2014.tgz (experimental archive with source code)
Related Links
	author = {Stephen F. Siegel and Matthew B. Dwyer and Ganesh Gopalakrishnan 
	          and Ziqing Luo and Zvonimir Rakamaric and Rajeev Thakur 
	          and Manchun Zheng and Timothy K. Zirkel},
	title = {CIVL: The Concurrency Intermediate Verification Language},
	institution = {Department of Computer and Information Sciences,
	University of Delaware},
	year = {2014},
	number = {UD-CIS-2014/001}

VSL | Publications