RATest: Explaining Wrong Relational Queries Using Small Examples

RATest: Explaining Wrong Relational Queries Using Small Examples
复制标题

RATest:使用小例子解释错误的关系查询

DOI:
10.1145/3299869.3320236
复制
发表时间:
2019
期刊:
SIGMOD '19: Proceedings of the 2019 International Conference on Management of Data
影响因子:
--
通讯作者:
Yang, Jun
Yang, Jun
中科院分区:
--
文献类型:
--
作者:
Miao, Zhengjie;Roy, Sudeepa;Yang, Jun

文献摘要

参考文献

被引文献

相似文献

我们提出了一个名为RATest的系统,旨在帮助调试针对引用查询的关系查询并测试数据库实例。在许多应用中,例如课堂学习和回归测试,我们通过在测试数据库实例D上评估用户查询Q并将其结果与评估引用(正确)查询D的结果相比较来测试用户查询Q的正确性。然而,D可能很大(通常是设计出来的),这使得调试Q变得困难。RATest背后的关键思想是向用户展示一个小得多的数据库实例,我们称之为反例,这样。RATest建立在数据来源和约束求解的基础上,并使用一套技术来以交互速度支持涉及差异和分组聚合的复杂查询。我们展示了RATEST在学习中的一个应用:它已经被一所大学的大型本科生数据库课程成功地用于帮助学生完成关系代数作业。
We present a system called RATest, designed to help debug relational queries against reference queries and test database instances. In many applications, e.g., classroom learning and regression testing, we test the correctness of a user query Q by evaluating it over a test database instance D and comparing its result with that of evaluating a reference (correct) queryover D. Ifdiffers from, the user knows Q is incorrect. However, D can be large (often by design), which makes debugging Q difficult. The key idea behind RATest is to show the user a much smaller database instance, which we call a counterexample, such that. RATest builds on data provenance and constraint solving, and employs a suite of techniques to support, at interactive speed, complex queries involving differences and group-by aggregation. We demonstrate an application of RATest in learning: it has been used successfully by a large undergraduate database course in a university to help students with a relational algebra assignment.
使用小例子解释错误的查询
DOI: 10.1145/3299869.3319866
发表时间: 2019
期刊: SIGMOD '19: Proceedings of the 2019 International Conference on Management of Data
影响因子: --
作者:
Miao, Zhengjie;Roy, Sudeepa;Yang, Jun
通讯作者: Yang, Jun