author: Henk Mulder
title: Performance of program verification with Vercors
keywords: software verification, performance, tools
topics: Software Technology
committee: Luís Ferreira Pires ,
Sebastiaan Joosten ,
Marieke Huisman
started: January 2019
end: July 2019

Abstract

Program verification is only as useful as its ability to produce results in a timely manner. In this research we investigate what performance bottlenecks are in the VerCors verification tool for concurrent programs. The aim is to identify the cause of a performance bottleneck, in order to optimize the tool.

We introduce a technique to identify what properties of a program are more difficult to verify. Using those results, we present solutions to two performance bottlenecks that were identified: 1. An alternative encoding of arrays is implemented in the tool which allows the tool to reason up to 4 times faster about programs that make use of arrays. 2. Our research in generating triggers for quantified expressions show that speedups up to 30% are possible. Though fur- ther research is required to investigate if this solution can be generalized and optimized further.

Additional Resources

  1. Thesis