Title
Detecting performance anti-patterns for applications developed using object-relational mapping
Abstract
Object-Relational Mapping (ORM) provides developers a conceptual abstraction for mapping the application code to the underlying databases. ORM is widely used in industry due to its convenience; permitting developers to focus on developing the business logic without worrying too much about the database access details. However, developers often write ORM code without considering the impact of such code on database performance, leading to cause transactions with timeouts or hangs in large-scale systems. Unfortunately, there is little support to help developers automatically detect suboptimal database accesses. In this paper, we propose an automated framework to detect ORM performance anti-patterns. Our framework automatically flags performance anti-patterns in the source code. Furthermore, as there could be hundreds or even thousands of instances of anti-patterns, our framework provides sup- port to prioritize performance bug fixes based on a statistically rigorous performance assessment. We have successfully evaluated our framework on two open source and one large-scale industrial systems. Our case studies show that our framework can detect new and known real-world performance bugs and that fixing the detected performance anti- patterns can improve the system response time by up to 98%.
Year
DOI
Venue
2014
10.1145/2568225.2568259
ICSE
Keywords
Field
DocType
dynamic analysis,performance anti-pattern,static analysis,performance evaluation,testing and debugging,performance
Object-relational mapping,Database access,Database tuning,Abstraction,Source code,Computer science,Static analysis,Business logic,Response time,Real-time computing,Database
Conference
Citations 
PageRank 
References 
41
1.19
22
Authors
6
Name
Order
Citations
PageRank
Tse-Hsun Chen123319.10
Weiyi Shang256638.03
Zhen Ming Jiang378040.11
Ahmed E. Hassan45959287.68
Mohamed N. Nasser51165.13
Parminder Flora641619.50