Towards Trace-based Deductive Verification (Tech Report)

11/17/2022
by   Richard Bubel, et al.
0

Contracts specifying a procedure's behavior in terms of pre- and postconditions are essential for scalable software verification, but cannot express any constraints on the events occurring during execution of the procedure. This necessitates to annotate code with intermediate assertions, preventing full specification abstraction. We propose a logic over symbolic traces able to specify recursive procedures in a modular manner that refers to specified programs only in terms of events. We also provide a deduction system based on symbolic execution and induction that we prove to be sound relative to a trace semantics. Our work generalizes contract-based to trace-based deductive verification.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/20/2020

Formal Specification and Verification of Solidity Contracts with Events

Events in the Solidity language provide a means of communication between...
research
06/24/2019

Verifying Relational Properties using Trace Logic

We present a logical framework for the verification of relational proper...
research
07/15/2020

Bitcoin Trace-Net: Formal Contract Verification at Signing Time

Smart contracting protocols promise to regulate the transfer of cryptocu...
research
03/08/2022

ProbTA: A sound and complete proof rule for probabilistic verification

We propose a sound and complete proof rule ProbTA for quantitative analy...
research
11/26/2018

MetAcsl: Specification and Verification of High-Level Properties

Modular deductive verification is a powerful technique capable to show t...
research
08/02/2020

Concolic Testing in CLP

Concolic testing is a popular software verification technique based on a...
research
01/12/2018

Online Detection of Effectively Callback Free Objects with Applications to Smart Contracts

Callbacks are essential in many programming environments, but drasticall...

Please sign up or login with your details

Forgot password? Click here to reset