36th International Conference on Software Engineering (ICSE 2014), May 31 – June 7, 2014, Hyderabad, India

Desktop Layout

Apps and Verification
Technical Research
MR.G.1-3, Chair: Luciano Baresi
Detecting Performance Anti-patterns for Applications Developed using Object-Relational Mapping
Parminder Flora, Weiyi Shang, Zhen Ming Jiang, and Ahmed E. Hassan
(BlackBerry, Canada; Queen's University, Canada; York University, Canada)
Publisher's Version
Preprint
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%.

Authors:


Time stamp: 2019-12-15T06:35:53+01:00