skip to main content
10.1145/2048147.2048165acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
demonstration

JP2: collecting dynamic bytecode metrics in JVMs

Published: 22 October 2011 Publication History

Abstract

The collection of dynamic metrics is an important part of performance analysis and workload characterization. We demonstrate JP2, a new tool for collecting dynamic bytecode metrics for standard Java Virtual Machines (JVMs). The application of JP2 is a three-step process: First, an online step instruments the application for profiling. Next, the resulting profile is dumped in an appropriate format for later analysis. Finally, the desired metrics are computed in an offline step. JP2's profiles capture both the inter-procedural and the intra-procedural control flow in a callsite-aware calling-context tree, where each node stores, amongst others, the execution count for each basic block of code. JP2 uses portable bytecode instrumentation techniques, is Open Source, and has been tested with several production JVMs.

References

[1]
B. Alpern, D. Attanasio, A. Cocchi, D. Lieber, S. Smith, T. Ngo, and J. J. Barton. Implementing Jalapeño in Java. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, 1999.
[2]
G. Ammons, T. Ball, and J. R. Larus. Exploiting hardware performance counters with flow and context sensitive profiling. In Proceedings of the Conference on Programming Language Design and Implementation, 1997.
[3]
M. Arnold and B. G. Ryder. A framework for reducing the cost of instrumented code. In Proceedings of the Conference on Programming Language Design and Implementation, 2001.
[4]
W. Binder, J. Hulaas, P. Moret, and A. Villazón. Platform-independent profiling in a virtual execution environment. Software: Practice and Experience, 39 (1): 47--79, 2009.
[5]
rS. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. ansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo benchmarks: Java benchmarking development and analysis. In Proceedings of the Conference on Object-Oriented Programing, Systems, Languages, and Applications, pages 169--190, 2006.
[6]
S. Boag, D. Chamberlin, M. F. Fernández, D. Florescu, J. Robie, and J. Siméon, editors. XQuery 1.0: An XML Query Language. World Wide Web Consortium, 2nd edition, 2010.
[7]
B. Dufour, L. Hendren, and C. Verbrugge. *J: a tool for dynamic analysis of Java programs. In Companion of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2003.
[8]
E. M. Gagnon and L. J. Hendren. SableVM: A research framework for the efficient execution of Java bytecode. In In Proceedings of the Java Virtual Machine Research and Technology Symposium, 2000.
[9]
J. Ha, M. Arnold, S. M. Blackburn, and K. S. McKinley. A concurrent dynamic analysis framework for multicore hardware. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2009.
[10]
P. Moret, W. Binder, and E. Tanter. Polymorphic bytecode instrumentation. In Proceedings of the International Conference on Aspect-Oriented Software Development, 2011.
[11]
A. Sarimbekov, P. Moret, W. Binder, A. Sewe, and M. Mezini. Complete and platform-independent calling context profiling for the Java virtual machine. In Proceedings of the Workshop on Bytecode Semantics, Verification, Analysis and Transformation, 2011.
[12]
A. Sewe, M. Mezini, A. Sarimbekov, and W. Binder. Dacapo con Scala: Design and analysis of a Scala benchmark suite for the Java virtual machine. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2011.
[13]
J. Whaley. A portable sampling-based profiler for Java Virtual Machines. In Proceedings of the ACM 2000 Conference on Java Grande, 2000.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '11: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
October 2011
360 pages
ISBN:9781450309424
DOI:10.1145/2048147

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 October 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. dynamic metrics
  2. java

Qualifiers

  • Demonstration

Conference

SPLASH '11
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 188
    Total Downloads
  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media