RPP: Automatic Proof of Relational Properties by Self-Composition
Lionel Blatter, Nikolai Kosmatov, Pascale Le Gall, Virgile, Prevosto

TL;DR
RPP is an automated tool integrated into FRAMA-C that uses self-composition to verify complex relational properties of C programs involving multiple, possibly dissimilar, function calls.
Contribution
It introduces a novel implementation of self-composition for verifying general relational properties in C programs within the FRAMA-C platform.
Findings
Automates the proof of relational properties in C programs.
Supports complex properties involving multiple and nested function calls.
Enables use of verified properties as hypotheses in further proofs.
Abstract
Self-composition provides a powerful theoretical approach to prove relational properties, i.e. properties relating several program executions, that has been applied to compare two runs of one or similar programs (in secure dataflow properties, code transformations, etc.). This tool demo paper presents RPP, an original implementation of self-composition for specification and verification of relational properties in C programs in the FRAMA-C platform. We consider a very general notion of relational properties invoking any finite number of function calls of possibly dissimilar functions with possible nested calls. The new tool allows the user to specify a relational property, to prove it in a completely automatic way using classic deductive verification, and to use it as a hypothesis in the proof of other properties that may rely on it.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Logic, programming, and type systems · Formal Methods in Verification
