REPORT on POPL 2003

The 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages

New Orleans, Louisiana, USA, January 15-17, 2003

by Pat Hill

There were five talks at POPL2003 that are of particular interest to the Memory Management Network.

A type theory for memory management and data layout
by Leaf Peterson, R Harper, K Crary, F Pfenning

The paper was presented by Leaf Peterson.

Leaf Peterson motivated and explained the basis for a new ordered type theory which can provide a precise framework for defining how high-level constructs such as pairs can be laid out in memory. This is important not only for compiler writers but also occasionally for the programmer when she may need to interract, for example, with the operating system or another network. He illustrated the problem by using the term of nested pairs (3,(4,5)) and the three different ways in which this term could be laid out in memory. Leaf then showed how the ordered type theory proposed in their paper could be used to distinguish between these alternatives.

Static prediction for heap space usage for first-order functional languages
by M Hofmann and S Jost

The paper was presented by Stephan Jost.

Given a functional program, this paper shows how to obtain, prior to run-time, a (linear) function that takes the program's input and returns an estimate of amount memory needed needed to compute its result. In the talk, the work was motivated and compared with previous approaches to this and similar problems and the technique illustrated by means of a functional program that reverses a list.

Destructors, finalizers and synchronization
by H-J Boehm

This paper compares facilities for running clean-up actions for objects that are about to reach the end of their life: destructors which are found in C++ and the finalization facility found in languages such as Java and C#. In the talk, Hans Boehm argued that these are fundametally different. He also discussed some common misunderstandings about finalization and it is this latter point that formed the main part of his talk. In particular he discussed the common myths:-
finalization can help the GC;
is cheap;
should only be run after all method calls on the object have been completed;
should avoid synchronization;
should be run before processes exit to ensure proper clean-up;
cannot ensure reliable clean-up of temporary files;
cannot manage scarce resources.
He concluded by saying that finalizers are rarely needed but, on occasions, may avoid 1000's of lines of code and, unlike destructors, can clean-up objects which have an unpredictable lifetime.

Interprocedural compatibility analysis for static object preallocation
by O Gheorghioiu, A Salcianu and M Rinard

The paper was presented by Alexander Salcianu.

This work is concerned with finding an upper bound on the memory required by an object-oriented (eg Java) program where, conceptually, all objects are allocated in a garbage-collected heap.

An interprocedural algorithm for finding pairs of compatible allocation sites was presented. These pairs have the property that no object allocated at one site is live at the same time as any object allocated at the other site. If an allocation site is compatible with itself, it is said to be unitary: at most one object allocated at that site is live at any given point in the execution of the program. In the talk, it was stressed that an important point about this work is that, by statically recognising the unitary allocation sites, the computation of an upper bound on the amount of memory required to execute the program is simplified.

A real-time garbage collector with low overhead and consistent utilization.
by D F Bacon, P Cheng, V T Rajan

The paper was presented by Perry Cheng.

The talk described a hybrid real-time garbage collector that operates as a non-moving incremental mark-sweep collector, but prevents defragmentation via the use of limited copying. Because the fragmentation is bounded, the collector has a provable space bound while retaining a lower space overhead than a fully copying real-time collector.

Problems with this page?
Contact the mm-net webmaster
Last modified Fri Jan 28 18:45:02 GMT 2005