The WhyRel Prototype for Relational Verification

03/25/2023
by   Ramana Nagasamudram, et al.
0

Verifying relations between programs arises as a task in various verification contexts such as optimizing transformations, relating new versions of programs with older versions (regression verification), and noninterference. However, relational verification for programs acting on dynamically allocated mutable state is not well supported by existing tools, which provide a high level of automation at the cost of restricting the programs considered. Auto-active tools, on the other hand, require more user interaction but enable verification of a broader class of programs. This article presents WhyRel, a tool for the auto-active verification of relational properties of pointer programs based on relational region logic. WhyRel is evaluated through verification case studies, relying on SMT solvers orchestrated by the Why3 platform on which it builds. Case studies include establishing representation independence of ADTs, showing noninterference, and challenge problems from recent literature.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/09/2019

CISE3: Verificação de aplicações com consistência fraca em Why3

In this article we present a tool for the verification of programs built...
research
06/24/2019

Verifying Relational Properties using Trace Logic

We present a logical framework for the verification of relational proper...
research
11/25/2017

Total Haskell is Reasonable Coq

We would like to use the Coq proof assistant to mechanically verify prop...
research
08/07/2020

Prolog for Verification, Analysis and Transformation Tools

This article examines the use of the Prolog language for writing verific...
research
01/21/2018

Static and Dynamic Verification of Relational Properties on Self-Composed C Code

Function contracts are a well-established way of formally specifying the...
research
05/11/2021

Proving LTL Properties of Bitvector Programs and Decompiled Binaries (Extended)

There is increasing interest in applying verification tools to programs ...
research
02/09/2022

An algebra of alignment for relational verification

Relational verification encompasses information flow security, regressio...

Please sign up or login with your details

Forgot password? Click here to reset