Verifying relational properties using trace logic
Paper in proceeding, 2019

We present a logical framework for the verification of relational properties in imperative programs. Our frame-work reduces verification of relational properties of imperative programs to a validity problem in trace logic, an expressive instance of first-order predicate logic. Trace logic draws its expressiveness from its syntax, which allows expressing properties over computation traces. Its axiomatization supports fine-grained reasoning about intermediate steps in program execution, notably loop iterations. We present an algorithm to encode the semantics of programs as well as their relational properties in trace logic, and then show how first-order theorem proving can be used to reason about the resulting trace logic formulas. Our work is implemented in the tool RAPID and evaluated with examples coming from the security field.

Cognition

Standards

Interference

Tools

Programming

Security

Semantics

Author

Gilles Barthes

Max Planck Institute for Security and Privacy

IMDEA Institute

Renate Eilers

Vienna University of Technology

Pamina Georgiou

Vienna University of Technology

B. Gleiss

Vienna University of Technology

Laura Kovacs

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Vienna University of Technology

Matteo Maffei

Vienna University of Technology

Proceedings of the 19th Conference on Formal Methods in Computer-Aided Design, FMCAD 2019

170-178 8894277
978-098356789-9 (ISBN)

19th Conference on Formal Methods in Computer-Aided Design, FMCAD 2019
San Jose, USA,

Subject Categories

Philosophy

Computer Science

Computer Systems

DOI

10.23919/FMCAD.2019.8894277

More information

Latest update

3/31/2021