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

Zhengjie Miao, Sudeepa Roy, Jun Yang
{"title":"RATest:用小例子解释错误的关系查询。","authors":"Zhengjie Miao,&nbsp;Sudeepa Roy,&nbsp;Jun Yang","doi":"10.1145/3299869.3320236","DOIUrl":null,"url":null,"abstract":"<p><p>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 <i>Q</i> by evaluating it over a test database instance <i>D</i> and comparing its result with that of evaluating a reference (correct) query <i>Q</i> <sub>0</sub> over <i>D</i>. If <i>Q</i>(<i>D</i>) differs from <i>Q</i> <sub>0</sub>(<i>D</i>), the user knows <i>Q</i> is incorrect. However, <i>D</i> can be large (often by design), which makes debugging <i>Q</i> difficult. The key idea behind RATEST is to show the user a much smaller database instance <i>D</i>' ⊆ <i>D</i>, which we call a <i>counterexample,</i> such that <i>Q</i>(<i>D</i>') <i>≠ Q</i> <sub>0</sub>(<i>D</i>'). 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.</p>","PeriodicalId":87344,"journal":{"name":"Proceedings. ACM-SIGMOD International Conference on Management of Data","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2019-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1145/3299869.3320236","citationCount":"5","resultStr":"{\"title\":\"RATest: Explaining Wrong Relational Queries Using Small Examples.\",\"authors\":\"Zhengjie Miao,&nbsp;Sudeepa Roy,&nbsp;Jun Yang\",\"doi\":\"10.1145/3299869.3320236\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p><p>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 <i>Q</i> by evaluating it over a test database instance <i>D</i> and comparing its result with that of evaluating a reference (correct) query <i>Q</i> <sub>0</sub> over <i>D</i>. If <i>Q</i>(<i>D</i>) differs from <i>Q</i> <sub>0</sub>(<i>D</i>), the user knows <i>Q</i> is incorrect. However, <i>D</i> can be large (often by design), which makes debugging <i>Q</i> difficult. The key idea behind RATEST is to show the user a much smaller database instance <i>D</i>' ⊆ <i>D</i>, which we call a <i>counterexample,</i> such that <i>Q</i>(<i>D</i>') <i>≠ Q</i> <sub>0</sub>(<i>D</i>'). 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.</p>\",\"PeriodicalId\":87344,\"journal\":{\"name\":\"Proceedings. ACM-SIGMOD International Conference on Management of Data\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-06-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1145/3299869.3320236\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings. ACM-SIGMOD International Conference on Management of Data\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3299869.3320236\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. ACM-SIGMOD International Conference on Management of Data","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3299869.3320236","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

摘要

我们提出了一个名为RATEST的系统,旨在帮助根据引用查询调试关系查询并测试数据库实例。在许多应用程序中,例如课堂学习和回归测试,我们通过在测试数据库实例D上评估用户查询Q,并将其结果与在D上评估参考(正确)查询Q 0的结果进行比较,来测试用户查询Q的正确性。如果Q(D)与Q 0(D)不同,则用户知道Q不正确。然而,D可能很大(通常是设计的),这使得调试Q变得困难。RATEST背后的关键思想是向用户显示一个小得多的数据库实例D'⊆D,我们称之为反例,这样Q(D')≠Q 0(D'。RATEST建立在数据来源和约束解决的基础上,并采用一套技术以交互速度支持涉及差异和按聚合分组的复杂查询。我们展示了RATEST在学习中的应用:它已被一所大学的大型本科生数据库课程成功地用于帮助学生完成关系代数作业。
本文章由计算机程序翻译,如有差异,请以英文原文为准。

RATest: Explaining Wrong Relational Queries Using Small Examples.

RATest: Explaining Wrong Relational Queries Using Small Examples.

RATest: Explaining Wrong Relational Queries Using Small Examples.

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) query Q 0 over D. If Q(D) differs from Q 0(D), 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 D' ⊆ D, which we call a counterexample, such that Q(D') ≠ Q 0(D'). 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.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信