Synthesizing analytical SQL queries from computation demonstration

Synthesizing analytical SQL queries from computation demonstration
复制标题

从计算演示中综合分析 SQL 查询

DOI:
10.1145/3519939.3523712
复制
发表时间:
2022
期刊:
PLDI 2022: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
影响因子:
--
通讯作者:
Wang, Chenglong
Wang, Chenglong
中科院分区:
--
文献类型:
--
作者:
Zhou, Xiangyu;Bodik, Rastislav;Cheung, Alvin;Wang, Chenglong

文献摘要

参考文献

被引文献

相似文献

分析型SQL广泛应用于现代数据库应用程序和数据分析。 然而,它的划分和分组操作符对于新手用户来说是具有挑战性的。不幸的是,编程的例子,显示有效的标准SQL,是不太有吸引力的,因为分析查询的例子是更费力的手工解决。为了使演示更容易作者,我们设计了一个新的最终用户规范,编程的计算演示,允许用户演示任务使用(可能不完整)细胞级的计算跟踪。 该规范被利用在一个新的基于抽象的合成算法,以证明一个部分形成的查询不能完成,以满足规范,允许我们修剪的搜索tree.We实现了我们的方法在一个名为镰刀的工具,并测试了80现实世界的分析SQL任务。结果表明,即使是小规模的演示,Sickle也可以在平均12.8秒内解决76个任务,而之前的方法只能解决60个任务,平均速度要慢22.5倍。此外,我们对13名参与者的用户研究表明,我们的规范提高了用户在挑战性任务上的效率和信心。
Analytical SQL is widely used in modern database applications and data analysis. However, its partitioning and grouping operators are challenging for novice users. Unfortunately, programming by example, shown effective on standard SQL, are less attractive because examples for analytical queries are more laborious to solve by hand.To make demonstrations easier to author, we designed a new end-user specification, programming by computation demonstration, that allows the user to demonstrate the task using a (possibly incomplete) cell-level computation trace. This specification is exploited in a new abstraction-based synthesis algorithm to prove that a partially formed query cannot be completed to satisfy the specification, allowing us to prune the search tree.We implemented our approach in a tool named Sickle and tested it on 80 real-world analytical SQL tasks. Results show that even from small demonstrations, Sickle can solve 76 tasks, in 12.8 seconds on average, while the prior approaches can solve only 60 tasks and are on average 22.5 times slower. Furthermore, our user study with 13 participants reveals that our specification increases user efficiency and confidence on challenging tasks.
数据记录程序的来源引导综合
DOI: 10.1145/3371130
发表时间: 2019
影响因子: --
作者:
Mukund Raghothaman;Jonathan Mendelson;David Zhao;M. Naik;Bernhard Scholz
通讯作者: Bernhard Scholz
DOI: 10.1145/3158151
发表时间: 2017-10
影响因子: --
作者:
Xinyu Wang;Işıl Dillig;Rishabh Singh
通讯作者: Xinyu Wang;Işıl Dillig;Rishabh Singh
DOI: 10.1145/3296979.3192382
发表时间: 2017-11
影响因子: --
作者:
Yu Feng;R. Martins;O. Bastani;Işıl Dillig
通讯作者: Yu Feng;R. Martins;O. Bastani;Işıl Dillig
使用有限树自动机合成数据完成脚本
DOI: 10.1145/3133886
发表时间: 2017
影响因子: --
作者:
Xinyu Wang;Işıl Dillig;Rishabh Singh
通讯作者: Rishabh Singh
学会从例子中学习程序:超越程序结构
DOI: 10.24963/ijcai.2017/227
发表时间: 2017
期刊: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子: --
作者:
Kevin Ellis;Sumit Gulwani
通讯作者: Sumit Gulwani