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 条
  • [31] Using queries to improve database reverse engineering
    Petit, JM
    Kouloumdjian, J
    Boulicaut, JF
    Toumani, F
    ENTITY-RELATIONSHIP APPROACH - ER '94, 1994, 881 : 369 - 386
  • [32] Automatic Detection of Concurrency Bugs through Event Ordering Constraints
    Murillo, Luis Gabriel
    Wawroschek, Simon
    Castrillon, Jeronimo
    Leupers, Rainer
    Ascheid, Gerd
    2014 DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION (DATE), 2014,
  • [33] Automatic Localization of Bugs to Faulty Components in Large Scale Software Systems using Bayesian Classification
    Jonsson, Leif
    Broman, David
    Magnusson, Mans
    Sandahl, Kristian
    Villani, Mattias
    Eldh, Sigrid
    2016 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2016), 2016, : 425 - 432
  • [34] Methods of detection of program bugs in computer systems
    A. I. Shevchenko
    A. Yu. Ishutin
    A. Yu. Beryozko
    Cybernetics and Systems Analysis, 1999, 35 : 676 - 679
  • [35] Methods of detection of program bugs in computer systems
    Shevchenko, AI
    Ishutin, AY
    Beryozko, AY
    CYBERNETICS AND SYSTEMS ANALYSIS, 1999, 35 (04) : 676 - 679
  • [36] TUNING DIFFERENT TYPES OF COMPLEX QUERIES USING THE APPROPRIATE INDEXES IN PARALLEL/DISTRIBUTED DATABASE SYSTEMS
    Chakraoui, Mohamed
    El Kalay, Abderrafiaa
    Mouhni, Naoual
    INTERNATIONAL JOURNAL OF GEOMATE, 2016, 11 (24): : 2267 - 2274
  • [37] A Novel Framework for Predicting Performance of Keyword Queries Over Database
    Husain, Mujaffar
    Shanker, Udai
    SOFTWARE ENGINEERING (CSI 2015), 2019, 731 : 277 - 286
  • [38] Alternative correctness criteria for queries in multilevel secure database systems
    Park, C
    Park, S
    MANAGING INFORMATION TECHNOLOGY RESOURCES AND APPLICATIONS IN THE WORLD ECONOMY, 1997, : 235 - 240
  • [39] Enabling Ontology Based Semantic Queries in Biomedical Database Systems
    Zheng, Shuai
    Wang, Fusheng
    Lu, James
    INTERNATIONAL JOURNAL OF SEMANTIC COMPUTING, 2014, 8 (01) : 67 - 83
  • [40] Visual representation of database queries using structural similarity
    Groth, DP
    SEVENTH INTERNATIONAL CONFERENCE ON INFORMATION VISUALIZATION, PROCEEDINGS, 2003, : 102 - 107