Blended analysis for performance understanding of framework-based applications

  • Authors:
  • Bruno Dufour;Barbara G. Ryder;Gary Sevitsky

  • Affiliations:
  • Rutgers University;Rutgers University;IBM T.J. Watson Research Center

  • Venue:
  • Proceedings of the 2007 international symposium on Software testing and analysis
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper defines a new analysis paradigm, blended program analysis, that enables practical, effective analysis of large framework-based Java applications for performance understanding. Blended analysis combines a dynamic representation of the program calling structure, with a static analysis applied to a region of that calling structure with observed performance problems. A blended escape analysis is presented which enables approximation of object effective lifetimes, to facilitate explanation of the usage of newly created objects in a program region. Performance bottlenecks stemming from overuse of temporary structures are common in framework-based applications. Metrics are introduced to expose how, in aggregate, these applications make use of new objects. Results of empirical experiments with the Trade benchmark are presented. A case study demonstrates how results from a blended escape analysis can help locate, in a region which calls 223 distinct methods, the single call path responsible for a performance problem involving objects created at 9 distinct sites and as far as 6 call levels away.