Improving the Performance of Database-Centric Applications Using Program Analysis

Tse-Hsun (Peter) Chen - Software Analysis and Intelligence Lab, Queen's University

Jan. 23, 2017, 10 a.m. - Jan. 23, 2017, 11 a.m.

McConnel Engineering room 603


ABSTRACT:

Modern software applications have become more dependent on database management systems (DBMSs). Such DBMSs are frequently used as black boxes (e.g., through database abstraction frameworks) to ease development. For example, Object-Relational Mapping (ORM) is one of the most popular database abstraction frameworks nowadays. As a result of such conceptual abstraction, developers do not need deep knowledge of databases; however, all too often this abstraction leads to inefficient database access code.

Performance is critical in large-scale database-centric applications, since any slowdown can cost billions of dollars, and negatively impact application quality and company reputation. In this talk, I present automated approaches for discovering performance problems in database-centric applications: 1) using static analysis to detect performance anti-patterns in the code; 2) combining both static and dynamic analysis to detect performance problems during in-house testing; and 3) combining application production data and static analysis to improve the performance of applications in production. Through case studies on real-world applications, I show that our approaches can improve application throughput and response time by 27-138%. I also discuss some promising avenues for future research.

CONTENT:

Tse-Hsun (Peter) Chen received his Ph.D. and M.Sc. from the Software Analysis and Intelligence Lab at Queen's University (Canada). He received his B.Sc. in Computer Science from the University of British Columbia (Canada). His research interests include software engineering, performance engineering, software log analysis, and mining software repositories; with a focus on using program analysis and data mining techniques to improve system performance and quality. His work has been published at premier venues such as ICSE, FSE, and MSR, as well as in major journals such as TSE, EMSE, and JSS. His industrial experience includes helping improve the quality and performance of large-scale database-centric applications at BlackBerry. Early tools and techniques developed by him are already integrated into practice. For more information about Peter’s work, please visit his website (http://petertsehsun.github.io).

 

 

 

All Are Welcome