TU Darmstadt / ULB / TUprints

Complete and Platform-Independent Calling Context Profiling for the Java Virtual Machine

Sarimbekov, Aibek ; Moret, Philippe ; Binder, Walter ; Sewe, Andreas ; Mezini, Mira (2011):
Complete and Platform-Independent Calling Context Profiling for the Java Virtual Machine. (Publisher's Version)
In: Electronic Notes in Theoretical Computer Science, 279 (1), pp. 61-74. Elsevier, ISSN 1571-0661,
DOI: 10.25534/tuprints-00014564,
[Article]

[img]
Preview
Text
1-s2.0-S1571066111001551-main.pdf
Available under CC-BY-NC-ND 3.0 International - Creative Commons, Attribution Non-commerical, No-derivatives.

Download (319kB) | Preview
Item Type: Article
Origin: Secondary publication via Golden Open Access
Status: Publisher's Version
Title: Complete and Platform-Independent Calling Context Profiling for the Java Virtual Machine
Language: English
Abstract:

Calling context profiling collects statistics separately for each calling context. Complete calling context profiles that faithfully represent overall program execution are important for a sound analysis of program behavior, which in turn is important for program understanding, reverse engineering, and workload characterization. Many existing calling context profilers for Java rely on sampling or on incomplete instrumentation techniques, yielding incomplete profiles; others rely on Java Virtual Machine (JVM) modifications or work only with one specific JVM, thus compromising portability. In this paper we present a new calling context profiler for Java that reconciles completeness of the collected profiles and full compatibility with any standard JVM. In order to reduce measurement perturbation, our profiler collects platform-independent dynamic metrics, such as the number of method invocations and the number of executed bytecodes. In contrast to prevailing calling context profilers, our tool is able to distinguish between multiple call sites in a method and supports selective profiling of (the dynamic extent of) certain methods. We have evaluate the overhead introduced by our profiler with standard Java and Scala benchmarks on a range of different JVMs.

Journal or Publication Title: Electronic Notes in Theoretical Computer Science
Journal volume: 279
Number: 1
Place of Publication: Amsterdam
Publisher: Elsevier
Classification DDC: 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Divisions: 20 Department of Computer Science > Software Technology
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
Event Title: 6th Workshop on Bytecode Semantics, Verification, Analysis and Transformation (Bytecode 2011)
Event Location: Saarbrücken
Event Dates: 27.03.2011
Date Deposited: 04 Dec 2020 09:05
Last Modified: 04 Dec 2020 09:05
DOI: 10.25534/tuprints-00014564
Corresponding Links:
URN: urn:nbn:de:tuda-tuprints-145646
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/14564
Export:
Actions (login required)
View Item View Item