Synthesizing SQL queries from input / output examples
Java Python Roff Shell
Latest commit 871e649 Feb 17, 2017 @Mestway merge to main
Permalink
Failed to load latest commit information.
.idea print to sqlite query Feb 6, 2017
data merge to main Feb 17, 2017
eval merge to main Feb 17, 2017
lib everythin Apr 5, 2016
out/artifacts merge to main Feb 17, 2017
src formatting ast and more Feb 15, 2017
tests print to sqlite query Feb 6, 2017
writeup major refactoring Sep 20, 2016
.gitignore ready to go Nov 4, 2016
README.md merge to main Feb 17, 2017
Scythe.iml artifact added Nov 1, 2016

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.