GCspy: An adaptable heap visualisation framework
Tony Printezis and Richard Jones
In
Proceedings of OOPSLA'02 ACM Conference on Object-Oriented Systems,
Languages and Applications, SIGPLAN Notices, pages 343-358, Seattle,
WA., November 2002. ACM Press.
Abstract
GCspy is an architectural framework for the collection,
transmission, storage and replay of memory management behaviour.
It makes new contributions to the understanding of the
dynamic memory behaviour of programming languages
(and especially object-oriented languages that make heavy
demands on the performance of memory managers).
GCspy's architecture allows
easy incorporation into
any memory management system: it is not
limited to garbage-collected languages.
It requires only small changes to the system in which it is
incorporated but provides a simple to use yet powerful data-gathering API.
GCspy scales to allow very large heaps to be visualised
effectively and efficiently.
It allows
already-running, local or remote systems to be visualised and those systems to
run at full speed outside the points at which data is gathered.
GCspy's visualisation tool presents this information in a number of novel
ways.
Deep understanding of program behaviour is essential
to the design of the next generation of garbage
collectors and explicit allocators. Until now, no satisfactory tools
have been available to assist the implementer in gaining an
understanding of heap behaviour.
GCspy has been demonstrated to be a practical solution to this dilemma.
It has been used to analyse
production Java virtual machines running applications of realistic
sizes.
Its use has revealed important insights into the interaction
between application program and JVM and has led to the development of
better garbage collectors.
Download publication
1177 kbytes
(PostScript)
Bibtex Record
@inproceedings{1426,
author = {Tony Printezis and Richard Jones},
title = {{GC}spy: AN Adaptable Heap Visualisation Framework},
month = {November},
year = {2002},
pages = {343-358},
keywords = {Language implementation, Memory management, Garbage collection, Visualisation of objects,Java},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2002/1426},
publication_type = {inproceedings},
submission_id = {12355_1028494217},
booktitle = {Proceedings of OOPSLA'02 ACM Conference on Object-Oriented Systems, Languages and Applications},
series = {SIGPLAN Notices},
address = {Seattle, WA.},
publisher = {ACM Press},
refereed = {yes},
ISBN = {1-58112-471-1},
}