TU Darmstadt / ULB / TUbiblio

Portable and Accurate Collection of Calling-Context-Sensitive Bytecode Metrics for the Java Virtual Machine

Sarimbekov, Aibek and Sewe, Andreas and Binder, Walter and Moret, Philippe and Schoeberl, Martin and Mezini, Mira :
Portable and Accurate Collection of Calling-Context-Sensitive Bytecode Metrics for the Java Virtual Machine.
[Online-Edition: http://dx.doi.org/10.1145/2093157.2093160]
In: International Conference on Principles and Practice of Programming in Java, 24-26 August 2011, Kongens Lyngby, Denmark. In: PPPJ '11 . New York, NY, USA
[Conference or Workshop Item] , (2011)

Official URL: http://dx.doi.org/10.1145/2093157.2093160

Abstract

Calling-context profiles and dynamic metrics at the bytecode level are important for profiling, workload characterization, program comprehension, and reverse engineering. Prevailing tools for collecting calling-context profiles or dynamic bytecode metrics often provide only incomplete information or suffer from limited compatibility with standard JVMs. However, completeness and accuracy of the profiles is essential for tasks such as workload characterization, and compatibility with standard JVMs is important to ensure that complex workloads can be executed. In this paper, we present the design and implementation of JP2, a new tool that profiles both the inter- and intra-procedural control flow of workloads on standard JVMs. JP2 produces calling-context profiles preserving callsite information, as well as execution statistics at the level of individual basic blocks of code. JP2 is complemented with scripts that compute various dynamic bytecode metrics from the profiles. As a case-study and tutorial on the use of JP2, we use it for cross-profiling for an embedded Java processor.

Item Type: Conference or Workshop Item
Erschienen: 2011
Creators: Sarimbekov, Aibek and Sewe, Andreas and Binder, Walter and Moret, Philippe and Schoeberl, Martin and Mezini, Mira
Title: Portable and Accurate Collection of Calling-Context-Sensitive Bytecode Metrics for the Java Virtual Machine
Language: English
Abstract:

Calling-context profiles and dynamic metrics at the bytecode level are important for profiling, workload characterization, program comprehension, and reverse engineering. Prevailing tools for collecting calling-context profiles or dynamic bytecode metrics often provide only incomplete information or suffer from limited compatibility with standard JVMs. However, completeness and accuracy of the profiles is essential for tasks such as workload characterization, and compatibility with standard JVMs is important to ensure that complex workloads can be executed. In this paper, we present the design and implementation of JP2, a new tool that profiles both the inter- and intra-procedural control flow of workloads on standard JVMs. JP2 produces calling-context profiles preserving callsite information, as well as execution statistics at the level of individual basic blocks of code. JP2 is complemented with scripts that compute various dynamic bytecode metrics from the profiles. As a case-study and tutorial on the use of JP2, we use it for cross-profiling for an embedded Java processor.

Title of Book: Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Series Name: PPPJ '11
Place of Publication: New York, NY, USA
Uncontrolled Keywords: Java virtual machine, bytecode instrumentation, calling context tree, cross-profiling
Divisions: Department of Computer Science > Software Technology
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
Department of Computer Science
Zentrale Einrichtungen
LOEWE
LOEWE > LOEWE-Zentren
Event Title: International Conference on Principles and Practice of Programming in Java
Event Location: Kongens Lyngby, Denmark
Event Dates: 24-26 August 2011
Date Deposited: 13 Jan 2012 10:51
Official URL: http://dx.doi.org/10.1145/2093157.2093160
Identification Number: doi:10.1145/2093157.2093160
Export:

Optionen (nur für Redakteure)

View Item View Item