The VerCors tool set: Verification of parallel and concurrent software

49Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper reports on the VerCors tool set for verifying parallel and concurrent software. Its main characteristics are (i) that it can verify programs under different concurrency models, written in high-level programming languages, such as for example in Java, OpenCL and OpenMP; and (ii) that it can reason not only about race freedom and memory safety, but also about functional correctness. VerCors builds on top of existing verification technology, notably the Viper framework, by transforming the verification problem of programs written in a high-level programming language into a verification problem in the intermediate language of Viper. This paper presents three examples that illustrate how VerCors support verifying functional correctness of three different concurrency features: heterogeneous concurrency, kernels using barriers and atomic operations, and compiler directives for parallelisation.

Cite

CITATION STYLE

APA

Blom, S., Darabi, S., Huisman, M., & Oortwijn, W. (2017). The VerCors tool set: Verification of parallel and concurrent software. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10510 LNCS, pp. 102–110). Springer Verlag. https://doi.org/10.1007/978-3-319-66845-1_7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free