Automatic Detection of Performance Bugs in Database Systems using Equivalent Queries

Automatic Detection of Performance Bugs in Database Systems using Equivalent Queries
复制标题

使用等效查询自动检测数据库系统中的性能错误

DOI:
--
复制
发表时间:
2022
期刊:
International Conference on Software Engineering
影响因子:
--
通讯作者:
A. Orso
A. Orso
中科院分区:
--
文献类型:
--
作者:
Xinyu Liu;Qi Zhou;Joy Arulraj;A. Orso

文献摘要

参考文献

被引文献

相似文献

由于现代数据密集型应用程序严重依赖数据库系统 (DBMS),因此开发人员广泛测试这些系统,以消除对功能产生负面影响的错误。然而,除了功能错误之外,还有另一类重要的错误会对 DBMS 的响应时间产生负面影响,称为性能错误。尽管性能错误对最终用户体验有潜在影响,但与功能错误相比,性能错误受到的关注要少得多。为了填补这一空白,我们推出了 Amoeba,一种用于自动检测 DBMS 中性能错误的技术和工具。 Amoeba 背后的核心思想是构建语义等效的查询对,在测试的 DBMS 上运行两个查询,并比较它们的响应时间。如果查询表现出显着不同的响应时间,则表明 DBMS 中可能存在性能错误。为了构造等效查询,我们建议使用一组结构和表达式突变规则,特别是针对发现性能错误。我们还引入反馈机制来提高该方法的有效性和效率。我们在两种广泛使用的 DBMS(PostgreSQL 和 CockroachDB)上对 Amoeba 进行了评估,结果令人鼓舞:Amoeba 迄今为止发现了 39 个潜在的性能错误,其中开发人员已经确认了 6 个错误并修复了 5 个错误。
Because modern data-intensive applications rely heavily on database systems (DBMSs), developers extensively test these systems to elim-inate 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 un-covering 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 dis-covered 39 potential performance bugs, among which developers have already confirmed 6 bugs and fixed 5 bugs.
DOI: 10.1145/3372297.3417260
发表时间: 2020-06
期刊: Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security
影响因子: --
作者:
Rui Zhong;Yongheng Chen;Hong Hu;Hangfan Zhang;Wenke Lee;Dinghao Wu
通讯作者: Rui Zhong;Yongheng Chen;Hong Hu;Hangfan Zhang;Wenke Lee;Dinghao Wu