Synthesizing SQL queries from input / output examples
Java Python Roff Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
data
eval
lib
out/artifacts
src
tests print to sqlite query Feb 6, 2017
writeup
.gitignore
README.md
Scythe.iml

README.md

Scythe: Synthesizing SQL queries from input output examples.

Scythe is a program synthesis tool that synthesizes sql queries from input-output examples. Scythe takes in 1) input examples: a set of input tables, 2) an output table and 3) description of which constants or aggregators to be used, and returns a list of SQL queries synthesized from these inputs.

Running instruction:

Here are the steps to run the tool on an input-output example.

  1. Download the jar file Scythe.jar.
  2. Prepare an example file containing input tables, an output table, and a constraint with constant information. An example file should look like these ones in the folder /data.
  3. Run in command line with command:
java -jar Scythe.jar path/to/the/example/file StagedEnumerator

In this command, "path/to/the/example/file" refers to your example file, option "StagedEnumerator" referes to the synthesizer used in synthesis.