scispace - formally typeset
Search or ask a question

Showing papers by "Darko Stefanovic published in 2007"


Proceedings ArticleDOI
13 Jun 2007
TL;DR: A method to represent collections using an abstraction of their semantics in a manner that allows individual elements in the collections to be identified and is able to represent a notion of progress when iteratively manipulating the contents of a collection.
Abstract: Memory analysis techniques have become sophisticated enough to model, with a high degree of accuracy, the manipulation of simple memory structures (finite structures, single/double linked lists and trees). However, modern programming languages provide extensive library support including a wide range of generic collection objects that make use of complex internal data structures. While these data structures ensure that the collections are efficient, often these representations cannot be effectively modeled by existing methods (either due to excessive analysis runtime or due to the inability to represent the required information). This paper presents a method to represent collections using an abstraction of their semantics. The construction of the abstract semantics for the collection objects is done in a manner that allows individual elements in the collections to be identified. Our construction also supports iterators over the collections and is able to model the position of the iterators with respect to the elements in the collection. By ordering the contents of the collection based on the iterator position, the model can represent a notion of progress when iteratively manipulating the contents of a collection. These features allow strong updates to the individual elements in the collection as well as strong updates over the collections themselves.

24 citations


01 Jan 2007
TL;DR: It is demonstrated that oldest-first collection does perform significantly better than youngest-first or non-generational collection for mature objects, and works well for lifetime distributions that satisfy the generational hypothesis.
Abstract: An oldest-first generational garbage collector leaves intact the most recently allocated object space, and instead collects the remaining, older objects Because these older objects have had more time to die, an oldestfirst copying collector will generally do less copying that a traditional generational collector (which operates youngest-first), a non-generational collector, and even Clinger and Hansen’s non-predictive collector (which does wait a little while for objects to die) To explore the performance of oldest-first collection, we present a mathematical analysis, simulation results for a variety of mature object lifetime distributions, and simulation results for mature object lifetimes drawn from real programs and for real mature object traces These results demonstrate that oldest-first collection does perform significantly better than youngest-first or non-generational collection for mature objects Although some previous work points in this direction, it provided very little evidence of our conclusion We also find that oldest-first collection works well for lifetime distributions that satisfy the generational hypothesis, which suggests we should also consider oldest-first collection in the young object space