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 (2020)
Complete and Platform-Independent Calling Context Profiling for the Java Virtual Machine.
In: Electronic Notes in Theoretical Computer Science, 2020, 279 (1)
doi: 10.25534/tuprints-00014564
Article, Secondary publication, Publisher's Version

Copyright Information: CC BY-NC-ND 3.0 Unported - Creative Commons, Attribution, NonCommercial, NoDerivs.

Download (319kB) | Preview
Item Type: Article
Type of entry: Secondary publication
Title: Complete and Platform-Independent Calling Context Profiling for the Java Virtual Machine
Language: English
Date: 4 December 2020
Place of Publication: Amsterdam
Year of primary publication: 2020
Publisher: Elsevier
Journal or Publication Title: Electronic Notes in Theoretical Computer Science
Volume of the journal: 279
Issue Number: 1
Event Title: 6th Workshop on Bytecode Semantics, Verification, Analysis and Transformation (Bytecode 2011)
Event Location: Saarbrücken
Event Dates: 27.03.2011
DOI: 10.25534/tuprints-00014564
Corresponding Links:
Origin: Secondary publication via Golden Open Access

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.

Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-145646
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Software Technology
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
Date Deposited: 04 Dec 2020 09:05
Last Modified: 19 Sep 2023 18:01
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/14564
Actions (login required)
View Item View Item