ACM Home Page
Please provide us with feedback. Feedback
A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications
Full text PdfPdf (502 KB)
Source Foundations of Software Engineering archive
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering table of contents
Atlanta, Georgia
SESSION: Program analysis table of contents
Pages 59-70  
Year of Publication: 2008
ISBN:978-1-59593-995-1
Authors
Bruno Dufour  Rutgers University
Barbara G. Ryder  Rutgers University
Gary Sevitsky  IBM T.J. Watson Research Center
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 119,   Citation Count: 2
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/1453101.1453111
What is a DOI?

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.


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
5
 
6
D. Buytaert, K. Beyls, and K. D. Bosschere. Hinting refactorings to reduce object creation in Java. In Proceedings of the fifth ACES Symposium, pages 73--76, 1 2005.
7
8
9
 
10
W. DePauw, E. Jensen, N. Mitchell, G. Sevitsky, J. Vlissides, and J. Yang. Software visualization: State of the art survey. In LNCS 2269, 2002.
11
 
12
M. Ernst. Static and dynamic analysis: Synergy and duality. In Proc. of the Wksp on Dyn. Anal., 2003.
13
14
 
15
A. Groce and R. Joshi. Exploiting traces in program analysis. In Proc. of Intl Conf. on Tools and Algs for the Constr. and Anal. of Sys. (TACAS), 2006.
16
 
17
O. Lhoták and L. Hendren. Scaling Java points-to analysis using Spark. In G. Hedin, editor, 12th Intl Conf. on Comp. Const. (CC'03), volume 2622 of LNCS, pages 153--169, April 2003.
 
18
 
19
N. Mitchell. The runtime structure of object ownership. In Proc. of the European Conf. on Object-oriented Prog. (ECOOP), 2006.
20
 
21
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.
22
23
 
24
B. G. Ryder. Dimensions of precision in reference analysis of object-oriented programming languages. In invited paper in the Proc. of the Twelfth Intl Conf. on Comp. Constr., pages 126--137, April 2003.
25
26
27
28


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