Daniel Spoonhower

Carnegie Mellon University

Automatic Memory Management Using Regions for Object-Oriented Programs


All safe languages provide a mechanism for automatic memory management, traditionally in the form of a garbage collector.  Static memory management and, more specifically, region inference are attempts to limit the run-time costs associated with memory management by performing one or more static analyses that conservatively approximate the behavior of an ordinary collector.  During my internship at Microsoft Research, I contributed to the design and implementation of a region-based memory manager for C#, an object-oriented language.  In this talk, I will review some initial as well as recent work in region inference and present a number of challenges specific to object-oriented languages.  I will relate our approach as a synthesis of previous region-based memory management systems and a set of imperative program analyses.

Principles of Programming Seminars

Wednesday, October 22, 2003
3:30 p.m.
Wean Hall 8220