Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering 2008
DOI: 10.1145/1453101.1453111
|View full text |Cite
|
Sign up to set email alerts
|

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

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 prope… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
65
0

Year Published

2009
2009
2016
2016

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 83 publications
(65 citation statements)
references
References 29 publications
0
65
0
Order By: Relevance
“…Each of these tools detects one specific type of performance bugs, such as inefficient nested loops [37], under-utilized data structures [46], and temporary object bloat [12,44,45], through static or dynamic program analysis. They are not designed to cover a wide variety of performance bugs.…”
Section: Motivationmentioning
confidence: 99%
“…Each of these tools detects one specific type of performance bugs, such as inefficient nested loops [37], under-utilized data structures [46], and temporary object bloat [12,44,45], through static or dynamic program analysis. They are not designed to cover a wide variety of performance bugs.…”
Section: Motivationmentioning
confidence: 99%
“…Each of these tools detects one specific type of performance bugs, such as inefficient nested loops [30], under-utilized data structures [38], and temporary object bloat [11,36,37], through static or dynamic program analysis. They are not designed to cover a wide variety of performance bugs.…”
Section: Motivationmentioning
confidence: 99%
“…Some tools [11,36,37] detect runtime bloat, a common performance problem in object-oriented applications. Xu et al [38] targets low-utility data structures with unbalanced costs and benefits.…”
Section: Performance Bug Detectionmentioning
confidence: 99%
“…Software bloat analysis [19,4,20,1,21,22,3,2,23,24] attempts to identify and remove performance problems due to run-time inefficiencies in the code execution and the use of memory. Mitchell et al [5] propose a manual approach that detects bloat by structuring behavior according to the flow of information, and their later work [4] introduces a way to find data structures that consume excessive amounts of memory.…”
Section: Related Workmentioning
confidence: 99%