Abstract
We present a method to analyze, monitor and control dynamic memory allocation in Java. It first consists in performing pointer and escape analysis to detect memory scopes. This information is used to automatically instrument Java programs in such a way memory is allocated and freed by a region-based memory manager. Our source code instrumentation fully exploits the result of scope analysis by dynamically mapping allocation places to the region stack at runtime via a registering mechanism. Moreover, it allows executing the same transformed program with different implementations of scoped-memory managers and perform different run-time analysis without changing the transformed code. In particular, we consider a class of managers that handle variable-size regions composed of fixed-size memory blocks for which we provide analytical models for the intra- and inter-region fragmentation. These models can be used to observe and control fragmentation at run-time with negligible overhead. We describe a prototype tool that implements our approach.
Author supplied keywords
Cite
CITATION STYLE
Garbervetsky, D., Nakhli, C., Yovine, S., & Zorgati, H. (2005). Program Instrumentation and Run-Time Analysis of Scoped Memory in Java. In Electronic Notes in Theoretical Computer Science (Vol. 113, pp. 105–121). https://doi.org/10.1016/j.entcs.2004.01.031
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.