Javana: a system for building customized Java program analysis tools

Saved in:
Bibliographic Details
Title: Javana: a system for building customized Java program analysis tools
Authors: Maebe, Jonas, Buytaert, Dries, Eeckhout, Lieven, De Bosschere, Koen
Source: ACM SIGPLAN NOTICES ; ISSN: 0362-1340
Publication Year: 2006
Collection: Ghent University Academic Bibliography
Subject Terms: Technology and Engineering, as is the case in Java, Understanding the behavior of applications running on high-level language virtual machines, is non-trivial because of the tight entanglement at the lowest execution level between the application and the virtual machine. This paper proposes Javana, a system for building Java program analysis tools, Javana provides an easy-to-use instrumentation infrastructure that allows for building customized profiling tools very quickly. Javana runs a dynamic binary instrumentation tool underneath the virtual machine. The virtual machine communicates with the instrumentation layer through an event handling mechanism for building a vertical map that links low-level native instruction pointers and memory addresses to high-level language concepts such as objects, methods, threads, lines of code, etc. The dynamic binary instrumentation tool then intercepts all memory accesses and instructions executed and provides the Javana end user with high-level language information for all memory accesses and natively executed instructions, We demonstrate the power of Javana through a number of applications: memory address tracing, vertical cache simulation and object lifetime computation. For each of these applications, the instrumentation specification requires only a small number of lines of code. Developing similarly powerful profiling tools within a virtual machine (as done in current practice) is both time-consuming and error-prone, in addition, the accuracy of the obtained profiling results might be questionable as we show in this paper
Document Type: article in journal/newspaper
Language: English
Relation: https://biblio.ugent.be/publication/372162; https://doi.org/10.1145/1167515.1167487
DOI: 10.1145/1167515.1167487
Availability: https://biblio.ugent.be/publication/372162
https://hdl.handle.net/1854/LU-372162
https://doi.org/10.1145/1167515.1167487
Accession Number: edsbas.4B60A6CE
Database: BASE
Description
DOI:10.1145/1167515.1167487