An Efficient VCGen-based Modular Verification of Relational Properties

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Blatter, Lionel, Kosmatov, Nikolai, Prevosto, Virgile, Gall, Pascale Le
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909074942066688
author Blatter, Lionel
Kosmatov, Nikolai
Prevosto, Virgile
Gall, Pascale Le
author_facet Blatter, Lionel
Kosmatov, Nikolai
Prevosto, Virgile
Gall, Pascale Le
contents Deductive verification typically relies on function contracts that specify the behavior of each function for a single function call. Relational properties link several function calls together within a single specification. They can express more advanced properties of a given function, such as non-interference, continuity, or monotonicity, or relate calls to different functions, possibly run in parallel, for instance, to show the equivalence of two implementations. However, relational properties cannot be expressed and verified directly in the traditional setting of modular deductive verification. Recent work proposed a new technique for relational property verification that relies on a verification condition generator to produce logical formulas that must be verified to ensure a given relational property. This paper presents an overview of this approach and proposes important enhancements. We integrate an optimized verification condition generator and extend the underlying theory to show how relational properties can be proved in a modular way, where one relational property can be used to prove another one, like in modular verification of function contracts. Our results have been fully formalized and proved sound in the Coq proof assistant.
format Preprint
id arxiv_https___arxiv_org_abs_2401_08385
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle An Efficient VCGen-based Modular Verification of Relational Properties
Blatter, Lionel
Kosmatov, Nikolai
Prevosto, Virgile
Gall, Pascale Le
Software Engineering
Deductive verification typically relies on function contracts that specify the behavior of each function for a single function call. Relational properties link several function calls together within a single specification. They can express more advanced properties of a given function, such as non-interference, continuity, or monotonicity, or relate calls to different functions, possibly run in parallel, for instance, to show the equivalence of two implementations. However, relational properties cannot be expressed and verified directly in the traditional setting of modular deductive verification. Recent work proposed a new technique for relational property verification that relies on a verification condition generator to produce logical formulas that must be verified to ensure a given relational property. This paper presents an overview of this approach and proposes important enhancements. We integrate an optimized verification condition generator and extend the underlying theory to show how relational properties can be proved in a modular way, where one relational property can be used to prove another one, like in modular verification of function contracts. Our results have been fully formalized and proved sound in the Coq proof assistant.
title An Efficient VCGen-based Modular Verification of Relational Properties
topic Software Engineering
url https://arxiv.org/abs/2401.08385