Self-composition to Prove Relational Properties in Annotated C Program

by   Lionel Blatter, et al.

Deductive verification provides a powerful tool to show functional properties of a given program. However, in practice, many properties of interest link several program calls. This is for instance the case for non-interference, continuity and monotony. Other examples relate sequences of function calls, for instance to show that decrypting an encrypted message with the appropriate key gives back the original one message. Such properties cannot be expressed directly in the traditional setting used by modular deductive verification, but are amenable to verification through self-composition. This paper presents a verification tool dedicated to relational properties, in the form of a Frama-C plug-in called RPP and based on self-composition. It supports functions with side effects and recursive functions. Our initial experiments on existing benchmarks confirm that RPP is useful to prove relational properties.


page 1

page 2

page 3

page 4


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

Function contracts are a well-established way of formally specifying the...

Enhancing Predicate Pairing with Abstraction for Relational Verification

Relational verification is a technique that aims at proving properties t...

Property Directed Self Composition

We address the problem of verifying k-safety properties: properties that...

Certified Verification of Relational Properties

The use of function contracts to specify the behavior of functions often...

Constraint-based Relational Verification

In recent years they have been numerous works that aim to automate relat...

Relational Test Tables: A Practical Specification Language for Evolution and Security

A wide range of interesting program properties are intrinsically relatio...

Regression verification of unbalanced recursive functions with multiple calls (long version)

Given two programs p_1 and p_2, typically two versions of the same progr...

Please sign up or login with your details

Forgot password? Click here to reset