Back to overview

The JVM is not observable enough (and what to do about it)

Type of publication Peer-reviewed
Publikationsform Proceedings (peer-reviewed)
Publication date 2012
Author Kell Stephen, Ansaloni Danilo, Binder Walter, Marek Lukáš,
Project FAN: Foundations of dynamic program ANalysis
Show all

Proceedings (peer-reviewed)

Title of proceedings Proceedings of the 6th ACM Workshop on Virtual Machines and Intermediate Languages
Place Tucson, AZ, USA
DOI 10.1145/2414740.2414747


Bytecode instrumentation is a preferred technique for building profiling, debugging and monitoring tools targeting the Java Virtual Machine (JVM), yet is fundamentally dangerous. We illustrate its dangers with several examples gathered while building the DiSL instrumentation framework. We argue that no Java platform mechanism provides simultaneously adequate performance, reliability and expressiveness, but that this weakness is fixable. To elaborate, we contrast internal with external observation, and sketch some approaches and requirements for a hybrid mechanism.