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 prese...
We propose natural proofs for reasoning with programs that ma-nipulate data-structures against speci...
We define a new logic, STRAND, that allows reasoning with heap-manipulating programs using deductive...
Over-approximating (OX) program logics, such as separation logic (SL), are used for verifying proper...
Program analysis and verification tools crucially depend on the ability to symbolically describe and...
Separation logic (SL) has gained widespread popularity because of its ability to succinctly express ...
In this article, we investigate the automated verification of temporal properties of heap-aware prog...
Separation Logic brought an advance to program verification of data structures through its use of (r...
We introduce cyclic abduction: a new method for automatically inferring safety and termination preco...
We describe a formal verification framework and tool implementation, based upon cyclic proofs, for c...
We propose a novel approach to proving the termination of heap-manipulating programs, which combines...
We study three aspects of program verification with separation logic:1. Reasoning about quantitative...
Separation logic is a popular specification language for imperative programs where the heap can only...
International audienceWe present SL⋄, a Separation Logic that allows controlling the heap space cons...
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintain...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
We propose natural proofs for reasoning with programs that ma-nipulate data-structures against speci...
We define a new logic, STRAND, that allows reasoning with heap-manipulating programs using deductive...
Over-approximating (OX) program logics, such as separation logic (SL), are used for verifying proper...
Program analysis and verification tools crucially depend on the ability to symbolically describe and...
Separation logic (SL) has gained widespread popularity because of its ability to succinctly express ...
In this article, we investigate the automated verification of temporal properties of heap-aware prog...
Separation Logic brought an advance to program verification of data structures through its use of (r...
We introduce cyclic abduction: a new method for automatically inferring safety and termination preco...
We describe a formal verification framework and tool implementation, based upon cyclic proofs, for c...
We propose a novel approach to proving the termination of heap-manipulating programs, which combines...
We study three aspects of program verification with separation logic:1. Reasoning about quantitative...
Separation logic is a popular specification language for imperative programs where the heap can only...
International audienceWe present SL⋄, a Separation Logic that allows controlling the heap space cons...
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintain...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
We propose natural proofs for reasoning with programs that ma-nipulate data-structures against speci...
We define a new logic, STRAND, that allows reasoning with heap-manipulating programs using deductive...
Over-approximating (OX) program logics, such as separation logic (SL), are used for verifying proper...