We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the neighborhood of a node that is reachable via a regular expression from a designated node. The logic is closed under boolean operations (entailment, negation) and has a finite model property. The key technical result is the proof of decidability. We show how to express preconditions, postconditions, and loop invariants for some interesting programs. It is also possible to express properties such as disjointness of data-structures, and low-level heap mutations. Moreover, our logic can express properties of arbitr...
This paper shows that it is possible to reason about the safety and termination of programs handling...
International audienceIn this paper we analyze the complexity of checking safety and termination pro...
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintain...
AbstractWe define a new decidable logic for expressing and checking invariants of programs that mani...
This paper shows how to harness existing theorem provers for first-order logic to automatically veri...
Abstract. This paper proposes a novel method of harnessing existing SAT solvers to verify reachabili...
The key to many approaches to reason about pointerbased data structures is the availability of a dec...
We propose a bounded model checking procedure for programs manipulating dynamically allocated pointe...
We propose a bounded model checking procedure for programs manipulating dynamically allocated pointe...
. This paper aims to provide a better formalism for describing properties of linked data structures ...
In heap-based languages, knowing that a variable x points to an acyclic data structure is useful for...
The key to many approaches to reason about pointer-based data structures is the availability of a de...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
AbstractThe paper deals with the problem of automatic verification of programs with dynamic linked d...
Abstract. We propose a logic-based framework for automated reasoning about sequential programs manip...
This paper shows that it is possible to reason about the safety and termination of programs handling...
International audienceIn this paper we analyze the complexity of checking safety and termination pro...
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintain...
AbstractWe define a new decidable logic for expressing and checking invariants of programs that mani...
This paper shows how to harness existing theorem provers for first-order logic to automatically veri...
Abstract. This paper proposes a novel method of harnessing existing SAT solvers to verify reachabili...
The key to many approaches to reason about pointerbased data structures is the availability of a dec...
We propose a bounded model checking procedure for programs manipulating dynamically allocated pointe...
We propose a bounded model checking procedure for programs manipulating dynamically allocated pointe...
. This paper aims to provide a better formalism for describing properties of linked data structures ...
In heap-based languages, knowing that a variable x points to an acyclic data structure is useful for...
The key to many approaches to reason about pointer-based data structures is the availability of a de...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
AbstractThe paper deals with the problem of automatic verification of programs with dynamic linked d...
Abstract. We propose a logic-based framework for automated reasoning about sequential programs manip...
This paper shows that it is possible to reason about the safety and termination of programs handling...
International audienceIn this paper we analyze the complexity of checking safety and termination pro...
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintain...