Upload
denton-mercado
View
18
Download
0
Embed Size (px)
DESCRIPTION
Software Bloat Analysis: Detecting, Removing, and Preventing Performance Problems in Modern Large-Scale Object-Oriented Applications. Guoqing Xu , Nick Mitchell, Matthew Arnold, Atanas Rountev, Gary Sevitsky Ohio State University IBM T. J. Watson Research. - PowerPoint PPT Presentation
Citation preview
Software Bloat Analysis: Detecting, Removing, and Preventing
Performance Problems in Modern Large-Scale Object-Oriented Applications
Guoqing Xu, Nick Mitchell, Matthew Arnold, Atanas Rountev, Gary Sevitsky
Ohio State UniversityIBM T. J. Watson Research
Large-Scale Object-Oriented Software
* Large libraries2
SAP Netweaver App server
*Framework-intensive applications
Runtime Bloat Can be Seen Regularly
• Example:– A system designed to support a million concurrent users
can scale only to thousands of users in practice• Consequences– Over-consumed memory– Unacceptable running/response time– Significantly-reduced scalability– Unnecessary system upgrades ($ is wasted!!!)
• Can it be solved by improved hardware/multicore?3
OutofMemory Slowdown Non-scalable
A Software Engineering Problem• Performance problem detection
– Profiling [Xu et al. ICSE’08, PLDI’09, PLDI’10-a, Novark et al. PLDI’09, Arnold and Ryder PLDI’00, Arnold et al. OOPSLA’08]
– Heap dump analysis [Mitchell and Sevitsky OOPSLA’07, Altman et al. OOPSLA’10]
– Static/dynamic analysis [Xu and Rountev PLDI’10-b, Dufour et al. ISSTA’07, FSE’08]
– Testing (e.g., worst-case compl. testing [Burnim et al. ICSE’09])
• Performance problem removal– Static transformation [Dolby and Chien PLDI’00, Xu TR’10]– Dynamic optimization [Arnold et al. OOPSLA’00, IEEE 05]
• Performance problem prevention– What design principles cause the problem?
4
Future Directions Design– Performance-conscious design models (e.g., thin
patterns)– Tools that can evaluate the performance of different
designs • Testing and analysis– Performance specification– Unit testing performance problems
Self-adjusting system that removes bloat– Compiler optimizations that target specific bloat
patterns• Synthesis of bloat-free implementations
5
http://www.cse.ohio-state.edu/~xug
Thank you
6