VerCors Example Database

A list of example programs and case studies verified by the VerCors verification toolset

About VerCors

VerCors is a toolset for practical mechanised verification of parallel and concurrent software under different concurrency models, notably heterogeneous and homogeneous threading. VerCors has verification support for multiple languages with concurrency features, such as Java, OpenCL (i.e. GPU kernels and atomics), and OpenMP for C (i.e. compiler directives). VerCors uses separation logic with permission accounting as its logical foundation.

Try online »


The source code of VerCors is publicly available and can be downloaded from Github. Installation instructions and example verification cases are also provided. VerCors has been tested on Linux, MacOS X, and on Windows (via Cygwin). Limited documentation of the annotation language is provided at the Github Wiki.

Download VerCors »


For questions and (technical) support, email to "w.h.m.oortwijn at utwente dot nl". Bug reports and feature requests can be submitted via the issue tracker on Github. A complete list of papers related to the VerCors project is given here.

Contact us »

Example database

Showing 21-40 of 139 items.
IDTitleVerification featuresExample sourceLanguageMore information
81Verifying Java 6 LockArrays, Atomics, LockingJavamore info
82Verifying a queueAtomics, ListsJavamore info
83History-based reasoning: verifying a queueAtomics, Histories, SequencesJavamore info
89ExponentialsJavamore info
92Functions and resourcesJavamore info
119Permissions: Bad loop (failing case 1)Loop invariantsJavamore info
120Permissions: Bad loop (failing case 2)Loop invariantsJavamore info
121Single-threaded countingLoop invariantsJavamore info
122Single-threaded incrementingLoop invariantsJavamore info
123Permissions: multi-incrementLoop invariantsJavamore info
124Permissions: Roster (fixed)ListsJavamore info
125Permissions: Integer swappingJavamore info
126Permissions: Long swappingJavamore info
127Permissions: Binary search treeLoop invariants, Stacks, TreesJavamore info
129Predicates: Linked integer listListsJavamore info
130Predicates: Tree traversalSequences, TreesJavamore info
131Predicates: Min-max listListsJavamore info
132Refute: require falseJavamore info
133Refute: unsatisfiableJavamore info
135Refute: refuting (case 1)Javamore info