The VerCors Verifier: A Progress Report. Armborst, L., Bos, P., van den Haak, L. B., Huisman, M., Rubbens, R., Şakar, Ö., & Tasche, P. In Gurfinkel, A. & Ganesh, V., editors, Computer Aided Verification, pages 3–18, Cham, 2024. Springer Nature Switzerland.
doi  abstract   bibtex   
This paper gives an overview of the most recent developments on the VerCors verifier. VerCors is a deductive verifier for concurrent software, written in multiple programming languages, where the specifications are written in terms of pre-/postcondition contracts using permission-based separation logic. In essence, VerCors is a program transformation tool: it translates an annotated program into input for the Viper framework, which is then used as verification back-end. The paper discusses the different programming languages and features for which VerCors provides verification support. It also discusses how the tool internally has been reorganised to become easily extendible, and to improve the connection and interaction with Viper. In addition, we also introduce two tools built on top of VerCors, which support correctness-preserving transformations of verified programs. Finally, we discuss how the VerCors verifier has been used on a range of realistic case studies.
@InProceedings{Armborst24,
author="Armborst, Lukas
and Bos, Pieter
and van den Haak, Lars B.
and Huisman, Marieke
and Rubbens, Robert
and {\c{S}}akar, {\"O}mer
and Tasche, Philip",
editor="Gurfinkel, Arie
and Ganesh, Vijay",
title="The VerCors Verifier: A Progress Report",
booktitle="Computer Aided Verification",
year="2024",
publisher="Springer Nature Switzerland",
address="Cham",
pages="3--18",
abstract="This paper gives an overview of the most recent developments on the VerCors verifier. VerCors is a deductive verifier for concurrent software, written in multiple programming languages, where the specifications are written in terms of pre-/postcondition contracts using permission-based separation logic. In essence, VerCors is a program transformation tool: it translates an annotated program into input for the Viper framework, which is then used as verification back-end. The paper discusses the different programming languages and features for which VerCors provides verification support. It also discusses how the tool internally has been reorganised to become easily extendible, and to improve the connection and interaction with Viper. In addition, we also introduce two tools built on top of VerCors, which support correctness-preserving transformations of verified programs. Finally, we discuss how the VerCors verifier has been used on a range of realistic case studies.",
isbn="978-3-031-65630-9",
doi="10.1007/978-3-031-65630-9_1"
}

Downloads: 0