Skip to Main content Skip to Navigation

Relational properties for specification and verification of C programs in Frama-C

Abstract : Deductive verification techniques provide powerful methods for formal verification of properties expressed in Hoare Logic. In this formalization, also known as axiomatic semantics, a program is seen as a predicate transformer, where each program c executed on a state verifying a property P leads to a state verifying another property Q. Relational properties, on the other hand, link n program to two properties. More precisely, a relational property is a property about n programs c1; :::; cn stating that if each program ci starts in a state si and ends in a state s0 i such that P(s1; :::; sn) holds, then Q(s0 1; :::; s0 n) holds. Thus, relational properties invoke any finite number of executions of possibly dissimilar programs. Such properties cannot be expressed directly in the traditional setting of modular deductive verification, as axiomatic semantics cannot refer to two distinct executions of a program c, or different programs c1 and c2. This thesis brings two solutions to the deductive verification of relational properties. Both of them make it possible to prove a relational property and to use it as a hypothesis in the subsequent verifications. We model our solutions using a small imperative language containing procedure calls. Both solutions are implemented in the context of the C programming language, the FRAMA-C platform, the ACSL specification language and the deductive verification plugin WP. The new tool, called RPP, allows one to specify a relational property, to prove it using classic deductive verification, and to use it as hypothesis in the proof of other properties. The tool is evaluated over a set of illustrative examples. Experiments have also been made on runtime checking of relational properties and counterexample generation when a property cannot be proved.
Document type :
Complete list of metadata

Cited literature [66 references]  Display  Hide  Download
Contributor : Abes Star :  Contact
Submitted on : Tuesday, December 10, 2019 - 11:25:08 AM
Last modification on : Saturday, May 1, 2021 - 3:50:32 AM
Long-term archiving on: : Wednesday, March 11, 2020 - 2:31:06 PM


Version validated by the jury (STAR)


  • HAL Id : tel-02401884, version 1


Lionel Blatter. Relational properties for specification and verification of C programs in Frama-C. Other. Université Paris Saclay (COmUE), 2019. English. ⟨NNT : 2019SACLC065⟩. ⟨tel-02401884⟩



Record views


Files downloads