Javana is a tool for creating customized Java program analysis tools. It comes with an easy-to-use instrumentation framework that enables programmers to develop profiling tools that crosscut the Java application, the Java Virtual Machine (JVM) and the native execution layers. The goal of this poster is to demonstrate the power of Javana, using object lifetime computation as an example. Object lifetime has proven to be useful for analyzing and optimizing the behavior of Java applications. Computing object lifetime is conceptually simple, however, in practice it is often challenging. The JVM needs to be adjusted in numerous ways in order to track all possible accesses to all objects, including accesses that occur through the Java Native Inter...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Garbage collection is an important feature of Java which prevents memory exhaustion, combat heap fra...
Dynamic analysis tools are often implemented using instrumentation, particularly on managed runtimes...
The rapid maturing process of the Java technology is encouraging users the development of portable a...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Freshly created objects are a blank slate: their mutable state and their constant properties must be...
BIT (Bytecode Instrumenting Tool) is a collection of Java classes that allow one to build customized...
[[abstract]]This paper studies the memory system behavior of Java programs by analyzing memory refer...
This paper describes our Java Performance Monitoring Toolkit (JPMT), which is developed for detailed...
A unifying approach to performance analysis in the Java environment In general, performance analysis...
The Java programming language with its portability, object-oriented model, support for multithreadin...
The rapid maturing process of the Java technology is encouraging users to develope of portable appli...
Java Virtual Machines provide a layer of abstraction supporting any services required for the execut...
about memory leaks in Java applications and possible approaches for detecting and resolving them. As...
Java workloads are becoming increasingly prominent on various platforms ranging from embedded system...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Garbage collection is an important feature of Java which prevents memory exhaustion, combat heap fra...
Dynamic analysis tools are often implemented using instrumentation, particularly on managed runtimes...
The rapid maturing process of the Java technology is encouraging users the development of portable a...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Freshly created objects are a blank slate: their mutable state and their constant properties must be...
BIT (Bytecode Instrumenting Tool) is a collection of Java classes that allow one to build customized...
[[abstract]]This paper studies the memory system behavior of Java programs by analyzing memory refer...
This paper describes our Java Performance Monitoring Toolkit (JPMT), which is developed for detailed...
A unifying approach to performance analysis in the Java environment In general, performance analysis...
The Java programming language with its portability, object-oriented model, support for multithreadin...
The rapid maturing process of the Java technology is encouraging users to develope of portable appli...
Java Virtual Machines provide a layer of abstraction supporting any services required for the execut...
about memory leaks in Java applications and possible approaches for detecting and resolving them. As...
Java workloads are becoming increasingly prominent on various platforms ranging from embedded system...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Garbage collection is an important feature of Java which prevents memory exhaustion, combat heap fra...
Dynamic analysis tools are often implemented using instrumentation, particularly on managed runtimes...