Synthesizing analytical SQL queries from computation demonstration
Xiangyu Zhou, Rastislav Bodík, Alvin Cheung, Chenglong Wang
摘要
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 create, 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 space.
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× slower. Our user study with 13 participants reveals that our specification increases user efficiency and confidence on challenging tasks.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper6
- Grounded Copilot: How Programmers Interact with Code-Generating ModelsShraddha Barke, Michael B. James, Nadia PolikarpovaOOPSLA 2023 · 被引用 408 次
- ImageEye: Batch Image Processing using Program SynthesisCeleste Barnaby, Qiaochu Chen, Roopsha Samanta, Isil DilligPLDI 2023 · 被引用 13 次
- SlabCity: Whole-Query Optimization using Program SynthesisRui Dong, Jie Liu, Yuxuan Zhu, Cong Yan 等VLDB 2023 · 被引用 11 次
- Relational Query Synthesis ⋈ Decision Tree LearningAaditya Naik, Aalok Thakkar, Adam Stein, Rajeev Alur 等VLDB 2024 · 被引用 2 次
- Refinement Types for VisualizationJingtao Xia, Junrui Liu, Nicholas Brown, Yanju Chen 等ASE 2024 · 被引用 1 次
它引用的顶会 Paper11
- egg: Fast and extensible equality saturationMax Willsey, Chandrakana Nandi, Yisu Remy Wang, Oliver Flatt 等POPL 2021 · 被引用 170 次
- Provenance-guided synthesis of Datalog programsMukund Raghothaman, Jonathan Mendelson, David Zhao, Mayur Naik 等POPL 2020 · 被引用 49 次
- Small-Step Live Programming by ExampleKasra Ferdowsifard, Allen Ordookhanians, Hila Peleg, Sorin Lerner 等UIST 2020 · 被引用 40 次
- Visualization by exampleChenglong Wang, Yu Feng, Rastislav Bodík, Alvin Cheung 等POPL 2020 · 被引用 36 次
- Falx: Synthesis-Powered Visualization AuthoringChenglong Wang, Yu Feng, Rastislav Bodík, Isil Dillig 等CHI 2021 · 被引用 35 次
相关 Paper
- PATSQL: Efficient Synthesis of SQL Queries from Example Tables with Quick Inference of Projected ColumnsKeita Takenouchi, Takashi Ishio, Joji Okada, Yuji SakataVLDB 2021 · 被引用 19 次
- Synthesizing Graph Queries from DemonstrationsXiaoyu Liu, Qikang Liu, Evan Dyce, Keval Vora 等OOPSLA 2026
- Example-guided synthesis of relational queriesAalok Thakkar, Aaditya Naik, Nathaniel Sands, Rajeev Alur 等PLDI 2021 · 被引用 12 次
- Interactive Text-to-SQL Generation via Editable Step-by-Step ExplanationsYuan Tian, Zheng Zhang, Zheng Ning, Toby Jia-Jun Li 等EMNLP 2023 · 被引用 14 次
- Fast and Reliable Program Synthesis via User InteractionYanju Chen, Chenglong Wang, Xinyu Wang, Osbert Bastani 等ASE 2023 · 被引用 5 次
