|
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
|
Glenn Ammons , Thomas Ball , James R. Larus, Exploiting hardware performance counters with flow and context sensitive profiling, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, p.85-96, June 16-18, 1997, Las Vegas, Nevada, United States
|
| |
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
|
Shay Artzi , Adam Kiezun , David Glasser , Michael D. Ernst, Combined static and dynamic mutability analysis, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, November 05-09, 2007, Atlanta, Georgia, USA
[doi> 10.1145/1321631.1321649]
|
 |
5
|
Stephen M. Blackburn , Robin Garner , Chris Hoffmann , Asjad M. Khang , Kathryn S. McKinley , Rotem Bentzur , Amer Diwan , Daniel Feinberg , Daniel Frampton , Samuel Z. Guyer , Martin Hirzel , Antony Hosking , Maria Jump , Han Lee , J. Eliot B. Moss , B. Moss , Aashish Phansalkar , Darko Stefanović , Thomas VanDrunen , Daniel von Dincklage , Ben Wiedermann, The DaCapo benchmarks: java benchmarking development and analysis, Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
| |
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
|
Cormac Flanagan , K. Rustan M. Leino , Mark Lillibridge , Greg Nelson , James B. Saxe , Raymie Stata, Extended static checking for Java, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
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
|
Markus Mock , Darren C. Atkinson , Craig Chambers , Susan J. Eggers, Improving program slicing with dynamic points-to data, Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering, November 18-22, 2002, Charleston, South Carolina, USA
[doi> 10.1145/587051.587062]
|
 |
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
|
|
|