Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Reengineering Standard Java Runtime Systems through Dynamic Bytecode Instrumentation
 
conference paper

Reengineering Standard Java Runtime Systems through Dynamic Bytecode Instrumentation

Binder, Walter  
•
Hulaas, Jarle
•
Moret, Philippe
2007
SCAM 2007 (Seventh IEEE International Working Conference on Source Code Analysis and Manipulation)

Java bytecode instrumentation is a widely used technique, especially for profiling purposes. In order to ensure the instrumentation of all classes in the system, including dynamically generated or downloaded code, instrumentation has to be performed at runtime. The standard JDK offers some mechanisms for dynamic instrumentation, which however either require the use of native code or impose severe restrictions on the instrumentation of certain core classes of the JDK. These limitations prevent several instrumentation techniques that are important for efficient, calling context-sensitive profiling. In this paper we present a generic bytecode instrumentation framework that goes beyond these restrictions and enables the customized, dynamic instrumentation of all classes in pure Java. Our framework addresses important issues, such as bootstrapping an instrumented JDK, as well as avoiding measurement perturbations due to dynamic instrumentation or execution of instrumentation code. We validated and evaluated our framework using an instrumentation for exact profiling which generates complete calling context trees of various platform-independent dynamic metrics.

  • Details
  • Metrics
Type
conference paper
DOI
10.1109/SCAM.2007.20
Author(s)
Binder, Walter  
Hulaas, Jarle
Moret, Philippe
Date Issued

2007

Published in
SCAM 2007 (Seventh IEEE International Working Conference on Source Code Analysis and Manipulation)
Start page

91

End page

100

Subjects

Java

•

JVM

•

dynamic bytecode instrumentation

•

program transformations

•

dynamic metrics

•

profiling

•

aspect-oriented programming

URL

URL

http://www.jraf2.org
Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LGL  
Available on Infoscience
July 16, 2007
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/9497
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés