Title
Interacting Via The Heap In The Presence Of Recursion
Abstract
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 abstraction that is precise. For any program with a bounded visible heap, meaning that the number of objects reachable from variables at any point of execution is bounded, this abstraction is a finitary representation of its behaviour, even though an unbounded number of objects can appear in the state. As a consequence, for such programs model checking is decidable. Finally we introduce a specification language for temporal properties of the heap, and discuss model checking these properties against heap-manipulating programs.
Year
DOI
Venue
2012
10.4204/EPTCS.104.9
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE
Field
DocType
Issue
Collection,Skew heap,Programming language,Computer science,Min-max heap,Imperative programming,Theoretical computer science,Heap (data structure),Binary heap,Binomial heap,Local variable
Journal
104
ISSN
Citations 
PageRank 
2075-2180
6
0.45
References 
Authors
17
5
Name
Order
Citations
PageRank
Jurriaan Rot110418.53
Irina Măriuca Asăvoae2407.17
Frank S. de Boer32013159.02
Marcello M. Bonsangue482466.34
Dorel Lucanu529535.07