Download PDFOpen PDF in browser

Trace-based Deductive Verification

23 pagesPublished: June 3, 2023

Abstract

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 mod- ular 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 by extending the notion of state-based contracts to trace-based contracts.

Keyphrases: contract based reasoning, deductive verification, mu calculus, symbolic execution, trace contracts

In: Ruzica Piskac and Andrei Voronkov (editors). Proceedings of 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, vol 94, pages 73-95.

BibTeX entry
@inproceedings{LPAR2023:Trace_based_Deductive_Verification,
  author    = {Richard Bubel and Dilian Gurov and Reiner Hähnle and Marco Scaletta},
  title     = {Trace-based Deductive Verification},
  booktitle = {Proceedings of 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
  editor    = {Ruzica Piskac and Andrei Voronkov},
  series    = {EPiC Series in Computing},
  volume    = {94},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/XJgr},
  doi       = {10.29007/vdfd},
  pages     = {73-95},
  year      = {2023}}
Download PDFOpen PDF in browser