TU Darmstadt / ULB / TUbiblio

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

Sarimbekov, Aibek and Moret, Philippe and Binder, Walter and Sewe, Andreas and 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]

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.

Item Type: Article
Erschienen: 2011
Creators: Sarimbekov, Aibek and Moret, Philippe and Binder, Walter and Sewe, Andreas and Mezini, Mira
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
Uncontrolled Keywords: Calling Context Profiling, JP2, Bytecode Instrumentation, Dynamic Metrics
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Software Technology
LOEWE
LOEWE > LOEWE-Zentren
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, Germany
Event Dates: 27.03.2011
Date Deposited: 04 Dec 2020 09:05
DOI: 10.25534/tuprints-00014564
Official URL: https://tuprints.ulb.tu-darmstadt.de/14564
URN: urn:nbn:de:tuda-tuprints-145646
Corresponding Links:
Export:
Suche nach Titel in: TUfind oder in Google
Send an inquiry Send an inquiry

Options (only for editors)
Show editorial Details Show editorial Details