Automatic Detection of Performance Bugs in Database Systems using Equivalent Queries

被引:12
|
作者
Liu, Xinyu [1 ]
Zhou, Qi [2 ]
Arulraj, Joy [1 ]
Orso, Alessandro [1 ]
机构
[1] Georgia Inst Technol, Atlanta, GA 30332 USA
[2] Meta, Seattle, WA USA
关键词
Differential testing; database testing; query optimization;
D O I
10.1145/3510003.3510093
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Because modern data-intensive applications rely heavily on database systems (DBMSs), developers extensively test these systems to eliminate bugs that negatively affect functionality. Besides functional bugs, however, there is another important class of faults that negatively affect the response time of a DBMS, known as performance bugs. Despite their potential impact on end-user experience, performance bugs have received considerably less attention than functional bugs. To fill this gap, we present AMOEBA, a technique and tool for automatically detecting performance bugs in DBMSs. The core idea behind AMOEBA is to construct semantically equivalent query pairs, run both queries on the DBMS under test, and compare their response time. If the queries exhibit significantly different response times, that indicates the possible presence of a performance bug in the DBMS. To construct equivalent queries, we propose to use a set of structure and expression mutation rules especially targeted at uncovering performance bugs. We also introduce feedback mechanisms for improving the effectiveness and efficiency of the approach. We evaluate AMOEBA on two widely-used DBMSs, namely PostgreSQL and CockroachDB, with promising results: AMOEBA has so far discovered 39 potential performance bugs, among which developers have already confirmed 6 bugs and fixed 5 bugs.
引用
收藏
页码:225 / 236
页数:12
相关论文
共 50 条
  • [1] On Automatic Detection of Performance Bugs
    Tsakiltsidis, Sokratis
    Miranskyy, Andriy
    Mazzawi, Elie
    2016 IEEE 27TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW), 2016, : 132 - 139
  • [2] APOLLO: Automatic Detection and Diagnosis of Performance Regressions in Database Systems
    Jung, Jinho
    Hu, Hong
    Arulraj, Joy
    Kim, Taesoo
    Kang, Woonhak
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2019, 13 (01): : 57 - 70
  • [3] Personalization of queries in database systems
    Koutrika, G
    Ioannidis, Y
    20TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, 2004, : 597 - 608
  • [4] Tracking down software bugs using automatic anomaly detection
    Hangal, S
    Lam, MS
    ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2002, : 291 - 301
  • [5] Automatic diagnosis of performance problems in database management systems
    Benoit, DG
    ICAC 2005: Second International Conference on Autonomic Computing, Proceedings, 2005, : 326 - 327
  • [6] Detecting Logic Bugs in Database Engines via Equivalent Expression Transformation
    Jiang, Zu-Ming
    Su, Zhendong
    PROCEEDINGS OF THE 18TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, OSDI 2024, 2024, : 821 - 835
  • [7] Improving the performance of graph database queries using linear algebra operations
    Amaral, Bruno
    Manuel San Martin, Juan
    Etcheverry, Lorena
    Ezzatti, Pablo
    2021 XLVII LATIN AMERICAN COMPUTING CONFERENCE (CLEI 2021), 2021,
  • [8] Automatic detection of logic bugs in hardware designs
    Klaiber, A
    Chau, S
    4TH INTERNATIONAL WORKSHOP ON MICROPROCESSOR TEST AND VERIFICATION: COMMON CHALLENGES AND SOLUTIONS, PROCEEDINGS, 2003, : 47 - 53
  • [9] Performance Comparison of Fuzzy Queries on Fuzzy Database and Classical Database
    Hoque, A. H. M. Sajedul
    Ali, Md. Sadek
    Aktaruzzaman, Md.
    Mondol, Sujit Kumer
    Islam, Babul
    PROCEEDINGS OF ICECE 2008, VOLS 1 AND 2, 2008, : 654 - 658
  • [10] Database interrogation using conjunctive queries
    Bielecki, M
    Van den Bussche, J
    DATABASE THEORY ICDT 2003, PROCEEDINGS, 2003, 2572 : 259 - 269