Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help

"Vertical Profiling: Understanding the Behavior of Object-Oriented Applications"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
  > Technical Program > Technical Papers > Performance

 : Wednesday

Vertical Profiling: Understanding the Behavior of Object-Oriented Applications

Ballroom A-B
Wednesday, 15:30, 30 minutes


Matthias Hauswirth, University of Colorado at Boulder
Peter Sweeney, IBM Thomas J. Watson Research Center
Amer Diwan, University of Colorado at Boulder
Michael Hind, IBM Thomas J. Watson Research Center

Object-oriented programming languages provide a rich set of features that provide significant software engineering benefits. The increased productivity provided by these features comes at a justifiable cost in a more sophisticated runtime system whose responsibility is to implement these features efficiently. However, the virtualization introduced by this sophistication provides a significant challenge to understanding complete system performance, not found in a traditionally compiled languages, such as C or C++. Thus, understanding system performance of such a system requires profiling that spans all levels of the execution stack, such as the hardware, operating system, virtual machine, and application.

In this work, we suggest an approach, called vertical profiling, that enables this level of understanding. We illustrate the efficacy of this approach by providing deep understandings of performance problems of Java applications run on an VM with vertical profiling support. By incorporating vertical profiling into a programming environment the programmer will be able to understand how their program interacts with the underlying abstraction levels, such as application server, VM, operating system, and hardware.