ACM Home Page
Please provide us with feedback. Feedback
Blended analysis for performance understanding of framework-based applications
Full text PdfPdf (267 KB)
Source
International Symposium on Software Testing and Analysis archive
Proceedings of the 2007 international symposium on Software testing and analysis table of contents
London, United Kingdom
SESSION: Hybrid analysis table of contents
Pages: 118 - 128  
Year of Publication: 2007
ISBN:978-1-59593-734-6
Authors
Bruno Dufour  Rutgers University
Barbara G. Ryder  Rutgers University
Gary Sevitsky  IBM T.J. Watson Research Center
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 78,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1273463.1273480
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
G. Ammons, J. -D. Choi, M. Gupta, and N. Swamy. Finding and removing performance bottlenecks in large systems. In Proc. of the European Conf. on Object-Oriented Prog. (ECOOP), 2004.
 
4
S. Artzi, M. Ernst, D. Glasser, and A. Kiezun. Combined static and dynamic mutability analysis. Technical Report MIT-CSAIL-TR-2006-065, MIT CS and AI Lab., Sep. 2006.
 
5
M. Q. Beers, C. H. Stork, and M. Franz. Efficiently verifiable escape analysis. In Proc. of the European Conf. on Object-Oriented Prog. (ECOOP), pages 96--122. Springer, 2004.
6
7
8
 
9
W. DePauw, E. Jensen, N. Mitchell, G. Sevitsky, J. Vlissides, and J. Yang. Visualizing the execution of java programs. In Software Visualization: State of the Art Survey, LNCS 2269, 2002.
 
10
M. Ernst. Static and dynamic analysis: Synergy and duality. In Proc. of the Wshp on Dynamic Analysis (WODA), 2003.
 
11
 
12
A. Groce and R. Joshi. Exploiting traces in program analysis. In Proc. of Int'l Conf. on Tools and Algs for the Construction and Analysis of Systems (TACAS), 2006.
13
14
15
 
16
N. Jones and S. Muchnick. Flow analysis and optimization of lisp-like structures. In Program Flow Analysis: Theory and Applications. Prentice Hall, 1982.
17
 
18
N. Mitchell. The runtime structure of object ownership. In Proc. of the European Conf. on Object-Oriented Prog. (ECOOP), 2006.
 
19
N. Mitchell and G. Sevitsky. Leakbot: An automated and lightweight tool for diagnosing memory leaks in large Java applications. In Proc. of the European Conf. on Object-Oriented Prog. (ECOOP), 2003.
 
20
N. Mitchell, G. Sevitsky, and H. Srinivasan. Modeling runtime behavior in framework-based applications. In Proc. of the European Conf. on Object-Oriented Prog. (ECOOP), 2006.
21
 
22
B. G. Ryder. Dimensions of precision in reference analysis of object-oriented programming languages. In Proc. of the 12th Int'l Conf. on Compiler Constr., pages 126--137, April 2003.
23
24
25
26


Collaborative Colleagues:
Bruno Dufour: colleagues
Barbara G. Ryder: colleagues
Gary Sevitsky: colleagues