Phase-based visualization and analysis of Java programs

  • Authors:
  • Priya Nagpurkar;Chandra Krintz

  • Affiliations:
  • Computer Science Department, University of California, Santa Barbara;Computer Science Department, University of California, Santa Barbara

  • Venue:
  • Science of Computer Programming - Special issue: Principles and practices of programming in Java (PPPJ 2004)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Extant Java Virtual Machines (JVMs) apply dynamic compiler optimizations adaptively, based on the partial execution of the program, with the goal of improving performance. Understanding and characterizing program behavior is of vital importance to such systems. Recent research, primarily in the area of computer architecture, has identified potential optimization opportunities in the repeating patterns in the time-varying behavior of programs. In view of this, we believe that by considering time-varying, i.e., phase, behavior in Java programs, adaptive JVMs can enable performance that exceeds current levels.To enable analysis and visualization of phase behavior in Java programs and to facilitate optimization development, we have implemented a freely available, offline, phase analysis framework within the IBM Jikes Research Virtual Machine (JikesRVM) for Java. The framework couples existing techniques into a unifying set of tools for data collection, processing, and analysis of dynamic phase behavior in Java programs. The framework enables optimization developers to significantly reduce analysis time and to target adaptive optimization to parts of the code that will recur with sufficient regularity. We use the framework to evaluate phase behavior in the SpecJVM benchmark suite and discuss optimizations that are enabled by the framework.