arrow
返回

Unveiling Logic Bugs in SPJG Query Optimizations within DBMS

delete2026-03-01
delete0
PRE
AI
T
Tang, Xiu
杨师杰 (Shi-Jie Yang)
W
Wu, Sai *
Z
Zhang, Dongsiang
Z
Zhou, Wenchao
L
Li, Feifei
C
Chen, Gang
DOI:10.1145/3764583delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
基于生成的方法的测试技术已被证明在检测DBMS中的逻辑错误方面是有效的,这些错误通常源于查询优化器的不当实现。然而,现有的基于生成的调试工具主要依赖随机测试,这往往忽视了易出错的关键区域,如多表连接和分组聚合。在本文中,我们提出了TQS,一个旨在检测由SPJG(选择-投影-连接-分组)查询优化引起的逻辑错误的测试框架。针对目标DBMS,TQS通过两个关键组件实现目标:数据引导的架构和查询生成(DSG)以及知识引导的查询空间探索(KQE)。DSG解决了多表查询调试的关键挑战:如何生成用于验证的基准(查询,结果)对。DSG利用来自维度聚合数据立方体的数据,这些立方体存储分组度量列的数据。它将数据立方体的数据映射到一个宽表,对宽表应用数据库规范化技术以生成测试架构,并维护一个位图索引以跟踪结果。为提高调试效率,DSG还人为地在生成数据中插入了一些噪声。为避免重复的查询空间搜索,KQE指导易出错立方体的生成,将问题表述为同构图集发现,并结合图嵌入和加权随机游走进行查询生成。我们在四个流行的DBMS上评估了TQS:MySQL、MariaDB、TiDB和PolarDB。实验结果表明,TQS在发现数据库管理系统中的SPJG查询优化的逻辑错误方面是有效的。在24小时内,它成功检测到了226个错误,其中MySQL 63个,MariaDB 52个,TiDB 68个,PolarDB 43个。
Keyword:
Database
logic bug
SPJ query optimizations

期刊

A
ACM Transactions on Database Systems
IF:
1.7
论文数:
11
被引数:
0

机构

A
Alibaba Group
学者数:
306
论文数: 114
被引数: 0
Z
zhejiang university
学者数:
17.7W
论文数: 12.1W
被引数: 152
引用论文

引用论文

暂无论文信息