TU Darmstadt / ULB / TUbiblio

JP2: Call-site aware calling context profiling for the Java Virtual Machine

Sarimbekov, Aibek ; Sewe, Andreas ; Binder, Walter ; Moret, Philippe ; Mezini, Mira :
JP2: Call-site aware calling context profiling for the Java Virtual Machine.
[Online-Edition: http://dx.doi.org/10.1016/j.scico.2011.11.003]
In: Science of Computer Programming ISSN 0167-6423
[Artikel], (2012)

Offizielle URL: http://dx.doi.org/10.1016/j.scico.2011.11.003

Kurzbeschreibung (Abstract)

Calling context profiling fulfills programmers’ information needs to obtain a complete picture of a program’s inter- and intra-procedural control flow, which are important for workload characterization, debugging, profiling, program comprehension, and reverse engineering. Many existing calling context profilers for Java, however, resort to sampling or other incomplete instrumentation techniques; thus, they collect incomplete profiles only. In this article we present JP2, a new calling context profiler for the Java Virtual Machine, which collects profiles that are not only complete but also call-site aware; that is, JP2 is able to distinguish between multiple call sites within a single method. JP2 supports selective profiling of the dynamic extent of chosen methods and supports profiling of native method invocations. Moreover, produced profiles contain execution statistics at the level of individual basic blocks of code, thereby preserving the intra-procedural control flow of the profiled applications. We rigorously evaluate the overhead incurred by JP2. This overhead is acceptable in tasks such as workload characterization. JP2 is freely available under an Open Source license.

Typ des Eintrags: Artikel
Erschienen: 2012
Autor(en): Sarimbekov, Aibek ; Sewe, Andreas ; Binder, Walter ; Moret, Philippe ; Mezini, Mira
Titel: JP2: Call-site aware calling context profiling for the Java Virtual Machine
Sprache: Englisch
Kurzbeschreibung (Abstract):

Calling context profiling fulfills programmers’ information needs to obtain a complete picture of a program’s inter- and intra-procedural control flow, which are important for workload characterization, debugging, profiling, program comprehension, and reverse engineering. Many existing calling context profilers for Java, however, resort to sampling or other incomplete instrumentation techniques; thus, they collect incomplete profiles only. In this article we present JP2, a new calling context profiler for the Java Virtual Machine, which collects profiles that are not only complete but also call-site aware; that is, JP2 is able to distinguish between multiple call sites within a single method. JP2 supports selective profiling of the dynamic extent of chosen methods and supports profiling of native method invocations. Moreover, produced profiles contain execution statistics at the level of individual basic blocks of code, thereby preserving the intra-procedural control flow of the profiled applications. We rigorously evaluate the overhead incurred by JP2. This overhead is acceptable in tasks such as workload characterization. JP2 is freely available under an Open Source license.

Titel der Zeitschrift, Zeitung oder Schriftenreihe: Science of Computer Programming
Verlag: Elsevier
Freie Schlagworte: Calling context profiling, Bytecode instrumentation, Dynamic metrics, Selective profiling
Fachbereich(e)/-gebiet(e): Fachbereich Informatik > Softwaretechnik
Zentrale Einrichtungen > CASED
Fachbereich Informatik
Zentrale Einrichtungen
Hinterlegungsdatum: 22 Feb 2012 16:15
Offizielle URL: http://dx.doi.org/10.1016/j.scico.2011.11.003
ID-Nummer: 10.1016/j.scico.2011.11.003
Export:

Optionen (nur für Redakteure)

Eintrag anzeigen Eintrag anzeigen