A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications

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

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

  • Venue:
  • Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Framework-intensive applications (e.g., Web applications) heavily use temporary data structures, often resulting in performance bottlenecks. This paper presents an optimized blended escape analysis to approximate object lifetimes and thus, to identify these temporaries and their uses. Empirical results show that this optimized analysis on average prunes 37% of the basic blocks in our benchmarks, and achieves a speedup of up to 29 times compared to the original analysis. Newly defined metrics quantify key properties of temporary data structures and their uses. A detailed empirical evaluation offers the first characterization of temporaries in framework-intensive applications. The results show that temporary data structures can include up to 12 distinct object types and can traverse through as many as 14 method invocations before being captured.