Synthesizing Queries via Interactive Sketching

12/29/2019
by   Osbert Bastani, et al.
0

We propose a novel approach to program synthesis, focusing on synthesizing database queries. At a high level, our proposed algorithm takes as input a sketch with soft constraints encoding user intent, and then iteratively interacts with the user to refine the sketch. At each step, our algorithm proposes a candidate refinement of the sketch, which the user can either accept or reject. By leveraging this rich form of user feedback, our algorithm is able to both resolve ambiguity in user intent and improve scalability. In particular, assuming the user provides accurate inputs and responses, then our algorithm is guaranteed to converge to the true program (i.e., one that the user approves) in polynomial time. We perform a qualitative evaluation of our algorithm, showing how it can be used to synthesize a variety of queries on a database of academic publications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/03/2017

Programming Not Only by Example

In recent years, there has been tremendous progress in automated synthes...
research
09/12/2018

Bidirectional Evaluation with Direct Manipulation

We present an evaluation update (or simply, update) algorithm for a full...
research
01/03/2023

EQUI-VOCAL: Synthesizing Queries for Compositional Video Events from Limited User Interactions [Technical Report]

We introduce EQUI-VOCAL: a new system that automatically synthesizes que...
research
02/26/2020

Sketch-to-Art: Synthesizing Stylized Art Images From Sketches

We propose a new approach for synthesizing fully detailed art-stylized i...
research
08/11/2022

Interactive Code Generation via Test-Driven User-Intent Formalization

Pre-trained large language models (LLMs) such as OpenAI Codex have shown...
research
07/16/2023

InkSight: Leveraging Sketch Interaction for Documenting Chart Findings in Computational Notebooks

Computational notebooks have become increasingly popular for exploratory...
research
08/09/2016

Semi-Automated SVG Programming via Direct Manipulation

Direct manipulation interfaces provide intuitive and interactive feature...

Please sign up or login with your details

Forgot password? Click here to reset