Capítulo de livro Revisado por pares

Making Sense of Large Heaps

2009; Springer Science+Business Media; Linguagem: Inglês

10.1007/978-3-642-03013-0_5

ISSN

1611-3349

Autores

Nick Mitchell, Edith Schonberg, Gary Sevitsky,

Tópico(s)

Logic, programming, and type systems

Resumo

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.

Referência(s)