Title
Making Sense of Large Heaps
Abstract
It is common for large-scale Java applications to suffer memory problems, whether inefficient designs that impede scalability, or lifetime bugs such as leaks. Making sense of heaps with many millions of objects is difficult given the extensive layering, framework reuse, and shared ownership in current applications. We present Yeti, a tool that summarizes memory usage to uncover the costs of design decisions, rather than of lower-level artifacts as in traditional tools, making it possible to quickly identify and remediate problems. Yeti employs three progressive abstractions and corresponding visualizations: it identifies costly groups of objects that collectively perform a function, recovers a logical data model for each, and summarizes the implementation of each model entity and relationship. Yeti is used by development and service teams within IBM, and has been effective in solving numerous problems. Through case studies we demonstrate how these abstractions help solve common categories of problems.
Year
DOI
Venue
2009
10.1007/978-3-642-03013-0_5
ECOOP
Keywords
Field
DocType
summarizes memory usage,corresponding visualization,current application,logical data model,large heaps,common category,memory problem,costly group,case study,model entity,abstractions help,data model
IBM,Programming language,Reuse,Computer science,Logical data model,Heap (data structure),Memory footprint,Dominator,Java,Scalability
Conference
Volume
ISSN
Citations 
5653
0302-9743
25
PageRank 
References 
Authors
1.20
12
3
Name
Order
Citations
PageRank
Nick Mitchell120512.52
Edith Schonberg2103589.50
Gary Sevitsky362430.19