The VerCors Verifier: A Progress Report

Lukas Armborst, Pieter Bos, Lars B. van den Haak, Marieke Huisman, Robert Rubbens*, Ömer Şakar, Philip Tasche

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

1 Citation (Scopus)
37 Downloads (Pure)

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.
Original languageEnglish
Title of host publicationComputer Aided Verification - 36th International Conference, CAV 2024, Proceedings
Subtitle of host publication36th International Conference on Computer Aided Verification
EditorsArie Gurfinkel, Vijay Ganesh
PublisherSpringer
Pages3-18
Number of pages16
Volume2
ISBN (Electronic)978-3-031-65630-9
ISBN (Print)978-3-031-65629-3
DOIs
Publication statusPublished - 2024

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume14682 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Fingerprint

Dive into the research topics of 'The VerCors Verifier: A Progress Report'. Together they form a unique fingerprint.

Cite this