Most work on garbage collection focuses on allocation patterns — what objects are created, how large they are, how long they survive. Conspicuously missing is the other end of the story: how do objects die? Which program actions create garbage? What triggers an object to become unreachable?
Garbology is an empirical study aimed at filling that gap. Using GC tracing to record every heap event — allocations, pointer updates, stack references — we characterize the patterns by which objects transition from live to garbage across a range of programs. The findings suggest that object death is structured and predictable, and that this structure can be exploited by future GC algorithms that are designed with object death patterns in mind rather than just object birth patterns.