Because database systems are the critical component of modern data-intensive applications, it is important to ensure that they operate correctly. To this end, developers extensively test these systems to eliminate bugs that negatively affect functionality. In addition to functional bugs, however, there is another important class of bugs: performance bugs. These bugs negatively affect the response time of a database system and can therefore affect the overall performance of the system. Despite their impact on end-user experience, performance bugs have received considerably less attention than functional bugs. In this paper, we present AMOEBA, a system for automatically detecting performance bugs in database systems. The core idea behind AMOEBA is to construct query pairs that are semantically equivalent to each other and then compare their response time on the same database system. If the queries exhibit a significant difference in their runtime performance, then the root cause is likely a performance bug in the system. We propose a novel set of structure and predicate mutation rules for constructing query pairs that are likely to uncover performance bugs. We introduce feedback mechanisms for improving the efficacy and computational efficiency of the tool. We evaluate AMOEBA on two widely-used DBMSs, namely PostgreSQL and CockroachDB. AMOEBA has discovered 20 previously-unknown performance bugs, among which developers have already confirmed 14 and fixed 4.


翻译:由于数据库系统是现代数据密集型应用程序的关键组成部分,因此必须确保其正确运行。为此,开发者广泛测试这些系统以消除对功能有负面影响的错误。但是,除了功能性错误之外,还有另一类重要的错误:性能错误。这些错误对数据库系统的反应时间产生了负面影响,因此可能影响系统的整体性能。尽管对终端用户经验的影响,但性能错误得到的关注远远低于功能性错误。在本文件中,我们介绍了AMOEBA,这是一个自动检测数据库系统性能错误的系统。AMOEBA的核心想法是建立相互等同的查询配对,然后比较同一数据库系统中的响应时间。如果询问显示其运行时间有显著差异,那么根部可能就会影响系统的整体性能问题。我们提出了一套新颖的结构和上游突变规则,用于构建可能发现性能错误的查询配对。我们引入了反馈机制,以提高工具的效能和计算效率。AMOEBA和DBA已经广泛应用的DBS 4,我们评估了AMO-BAS已经发现的两个已广泛使用的DBS 。

0
下载
关闭预览

相关内容

专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
【2019-26期】This Week in Extracellular Vesicles
外泌体之家
11+阅读 · 2019年6月28日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
LibRec 精选:连通知识图谱与推荐系统
LibRec智能推荐
3+阅读 · 2018年8月9日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Arxiv
0+阅读 · 2021年10月25日
REACH: Refining Alloy Scenarios by Scope
Arxiv
0+阅读 · 2021年10月22日
Arxiv
0+阅读 · 2021年10月20日
VIP会员
相关资讯
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
【2019-26期】This Week in Extracellular Vesicles
外泌体之家
11+阅读 · 2019年6月28日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
LibRec 精选:连通知识图谱与推荐系统
LibRec智能推荐
3+阅读 · 2018年8月9日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员