Program Instrumentation and Run-Time Analysis of Scoped Memory in Java

9Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.

This article is free to access.

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free