Abstract Building Java Program Analysis Tools using Javana

Saved in:
Bibliographic Details
Title: Abstract Building Java Program Analysis Tools using Javana
Authors: Dries Buytaert, Jonas Maebe, Lieven Eeckhout, Koen De Bosschere
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://escher.elis.ugent.be/publ/Edocs/DOC/P106_207.pdf.
Collection: CiteSeerX
Subject Terms: Oriented Instrumentation
Description: 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 Interface (JNI), the standard class libraries, and the JVM implementation itself. Capturing all object accesses through manual instrumentation requires an in-depth understanding of the JVM and its libraries. We show that using Javana is both easier and more accurate than manual instrumentation.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.5583; http://escher.elis.ugent.be/publ/Edocs/DOC/P106_207.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.5583
http://escher.elis.ugent.be/publ/Edocs/DOC/P106_207.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.8BED0415
Database: BASE
Description
Abstract: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 Interface (JNI), the standard class libraries, and the JVM implementation itself. Capturing all object accesses through manual instrumentation requires an in-depth understanding of the JVM and its libraries. We show that using Javana is both easier and more accurate than manual instrumentation.