Almost all modern imperative programming languages include operations for dynamically manipulating the heap, for example by allocating and deallocating objects, and by updating reference fields. In the presence of recursive procedures and local variables the interactions of a program with the heap can become rather complex, as an unbounded number of objects can be allocated either on the call stack using local variables, or, anonymously, on the heap using reference fields. As such a static analysis is, in general, undecidable. In this paper we study the verification of recursive programs with unbounded allocation of objects, in a simple imperative language for heap manipulation. We present an improved semantics for this language, using an a...
We present a new approach for automatic verification of data-dependent programs manipulating dynamic...
Abstract. Existing heap analysis techniques lack the ability to supply counterexamples in case of pr...
Heap data is potentially unbounded and seemingly arbitrary. Hence, unlike stack and static data, hea...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
Almost all modern imperative programming languages include operations for dynamically manipu-lating ...
Current static verification techniques do not provide good support for incrementality, making it dif...
Current static verification techniques do not provide good support for incrementality, making it dif...
Program properties that are automatically inferred by static analysis tools are generally not consid...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
This paper addresses the problem of establishing temporal properties of programs written in language...
Abstract. In the context of the KeY program verifier and the associated Dynamic Logic for Java we di...
Verifying the equivalence of programs has been applied in many situations: for example, proving the ...
Abstract. This paper presents an inter-procedural heap analysis that computes information about how ...
AbstractWe present a framework for statically reasoning about temporal heap safety properties. We fo...
We present a new approach for automatic verification of data-dependent programs manipulating dynamic...
Abstract. Existing heap analysis techniques lack the ability to supply counterexamples in case of pr...
Heap data is potentially unbounded and seemingly arbitrary. Hence, unlike stack and static data, hea...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
Almost all modern imperative programming languages include operations for dynamically manipu-lating ...
Current static verification techniques do not provide good support for incrementality, making it dif...
Current static verification techniques do not provide good support for incrementality, making it dif...
Program properties that are automatically inferred by static analysis tools are generally not consid...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
This paper addresses the problem of establishing temporal properties of programs written in language...
Abstract. In the context of the KeY program verifier and the associated Dynamic Logic for Java we di...
Verifying the equivalence of programs has been applied in many situations: for example, proving the ...
Abstract. This paper presents an inter-procedural heap analysis that computes information about how ...
AbstractWe present a framework for statically reasoning about temporal heap safety properties. We fo...
We present a new approach for automatic verification of data-dependent programs manipulating dynamic...
Abstract. Existing heap analysis techniques lack the ability to supply counterexamples in case of pr...
Heap data is potentially unbounded and seemingly arbitrary. Hence, unlike stack and static data, hea...