Sciweavers

ASPLOS
2009
ACM

Leak pruning

14 years 6 months ago
Leak pruning
Managed languages improve programmer productivity with type safety and garbage collection, which eliminate memory errors such as dangling pointers, double frees, and buffer overflows. However, because garbage collection uses reachability to over-approximate live objects, programs may still leak memory if programmers forget to eliminate the last reference to an object that will not be used again. Leaks slow programs by increasing collector workload and frequency. Growing leaks eventually crash programs. This paper introduces leak pruning, which keeps programs running by predicting and reclaiming leaked objects at run time. It predicts dead objects and reclaims them based on observing data structure usage patterns. Leak pruning preserves semantics because it waits for heap exhaustion before reclaiming objects and poisons references to objects it reclaims. If the program later tries to access a poisoned reference, the virtual machine (VM) throws an error. We show leak pruning has low ove...
Michael D. Bond, Kathryn S. McKinley
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where ASPLOS
Authors Michael D. Bond, Kathryn S. McKinley
Comments (0)