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.