新兴数据库系统中的增强差分测试
Enhanced Differential Testing in Emerging Database Systems
AI总结:
本文提出增强差分测试方法及工具SQLxDiff,通过识别和扩展共享子句生成差分输入,在四个新兴数据库系统中发现57个未知缺陷,证明了其检测缺陷的有效性。
摘要:
近年来,涌现出大量数据库管理系统以满足各种场景的需求。新兴数据库系统(如时间序列和流式数据库系统)针对特定用例进行了定制,需要更强的功能和性能。然而,由于它们通常不够成熟,可能存在导致错误结果或错误从而影响可靠性的缺陷。为了解决这一问题,我们提出了增强差分测试,以发现新兴类SQL数据库系统中的各种缺陷。挑战在于如何处理这些新兴数据库之间的差异。我们的见解是,许多新兴数据库系统在概念上是关系数据库系统的扩展,因此可以利用现有的、已知可靠的关系数据库系统来揭示逻辑缺陷。然而,由于不可避免的语法或语义差距,将差分测试扩展到各种新兴数据库系统仍然具有挑战性。我们通过三个步骤增强新兴数据库系统的差分测试:(i)识别共享子句;(ii)通过将新特性映射回关系数据库系统的现有子句来扩展共享子句;(iii)使用扩展的共享子句生成差分输入。我们在一个名为SQLxDiff的工具中实现了我们的方法,并将其应用于四个流行的新兴数据库系统。我们总共发现了57个未知缺陷,其中17个是逻辑缺陷,40个是内部错误。总体而言,供应商修复了50个缺陷,并确认了5个。我们的结果证明了SQLxDiff在检测新兴数据库系统缺陷方面的实用性和有效性,这有可能提高其应用的可靠性。
英文摘要:
In recent years, a plethora of database management systems have surfaced to meet the demands of various scenarios. Emerging database systems, such as time-series and streaming database systems, are tailored to specific use cases requiring enhanced functionality and performance. However, as they are typically less mature, there can be bugs that either cause incorrect results or errors impacting reliability. To tackle this, we propose enhanced differential testing to uncover various bugs in emerging SQL-like database systems. The challenge is how to deal with differences of these emerging databases. Our insight is that many emerging database systems are conceptually extensions of relational database systems, making it possible to reveal logic bugs leveraging existing relational, known-reliable database systems. However, due to inevitable syntax or semantics gaps, it remains challenging to scale differential testing to various emerging database systems. We enhance differential testing for emerging database systems with three steps: (i) identifying shared clauses; (ii) extending shared clauses via mapping new features back to existing clauses of relational database systems; and (iii) generating differential inputs using extended shared clauses. We implemented our approach in a tool called SQLxDiff and applied it to four popular emerging database systems. In total, we found 57 unknown bugs, of which 17 were logic bugs and 40 were internal errors. Overall, vendors fixed 50 bugs and confirmed 5. Our results demonstrate the practicality and effectiveness of SQLxDiff in detecting bugs in emerging database systems, which has the potential to improve the reliability of their applications.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。