home · mobile · calendar · defenses · 2003-2004 · 

Thesis Defense - Hirzel

Connectivity-Based Garbage Collection
Computer Science PhD Candidate

Garbage collection is an important feature of modern programming languages: by liberating the programmer from the responsibility of freeing up unused memory by hand, it leads to code with fewer bugs and cleaner design. However, these software engineering benefits have their costs: garbage collection may incur annoying pauses, slowdowns, and increased memory requirements. This talk presents a novel family of garbage collection algorithms that use information about the connectivity of heap objects to reduce these costs.

I first present empirical data showing that connectivity information is a good indicator for when objects die. Then I describe a family of garbage collectors that exploit connectivity properties to yield short pause times, good throughput, and low memory footprint. As part of implementing this approach, I developed the first non-trivial pointer analysis that handles all of Java, including dynamic class loading, reflection, and native code. I present an evaluation of connectivity-based garbage collection and the pointer analysis.

Committee: Amer Diwan, Assistant Professor (Chair)
Daniel Connors, Assistant Professor
Harold (Hal) Gabow, Professor
Dirk Grunwald, Associate Professor
William Waite, Professor
Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:20)