S2TD: a Separation Logic Verifier that Supports Reasoning of the Absence and Presence of Bugs

09/19/2022
by   Quang Loc Le, et al.
0

Heap-manipulating programs are known to be challenging to reason about. We present a novel verifier for heap-manipulating programs called S2TD, which encodes programs systematically in the form of Constrained Horn Clauses (CHC) using a novel extension of separation logic (SL) with recursive predicates and dangling predicates. S2TD actively explores cyclic proofs to address the path explosion problem. S2TD differentiates itself from existing CHC-based verifiers by focusing on heap-manipulating programs and employing cyclic proof to efficiently verify or falsify them with counterexamples. Compared with existing SL-based verifiers, S2TD precisely specifies the heaps of de-allocated pointers to avoid false positives in reasoning about the presence of bugs. S2TD has been evaluated using a comprehensive set of benchmark programs from the SV-COMP repository. The results show that S2TD is more effective than state-of-art program verifiers and is more efficient than most of them.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/10/2021

Incorrectness Logic for Graph Programs

Program logics typically reason about an over-approximation of program b...
research
10/28/2020

A Cyclic Proof System for HFLN

A cyclic proof system allows us to perform inductive reasoning without e...
research
02/08/2018

A Separation Logic for Concurrent Randomized Programs

We present a concurrent separation logic with support for probabilistic ...
research
01/16/2023

A separation logic for sequences in pointer programs and its decidability

Separation logic and its variants can describe various properties on poi...
research
05/17/2022

Cyclic Proofs, Hypersequents, and Transitive Closure Logic

We propose a cut-free cyclic system for Transitive Closure Logic (TCL) b...
research
02/14/2022

Quantitative Strongest Post

We present a novel strongest-postcondition-style calculus for quantitati...
research
10/27/2017

Probabilistic Couplings for Probabilistic Reasoning

This thesis explores proofs by coupling from the perspective of formal v...

Please sign up or login with your details

Forgot password? Click here to reset