dipakc / bayou

System for synthesizing Java code, powered by Bayesian machine learning

Home Page:http://www.askbayou.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bayou

Bayou is a data-driven program synthesis system for Java that uses learned Bayesian specifications for efficient synthesis.

Click here for the arXiv paper on Bayou.

Try Bayou on your browser! Visit www.askbayou.com.

Requirements

  • JDK 1.8
  • Python3 (Tested with 3.5.1)
  • Tensorflow (Tested with 1.2)
  • scikit-learn (Tested with 0.19)

Compiling and Running Bayou from Source on Ubuntu/Mac

1.) Download source from GitHub:

git clone https://github.com/capergroup/bayou.git

2.) Install Dependencies

cd bayou/tool_files/build_scripts
sudo ./install_dependencies.sh

3.) Compile Bayou

./build.sh

4.) Run Bayou

cd out/
./start_bayou.sh &

Wait until you see:

===================================
            Bayou Ready            
===================================

then execute:

./synthesize.sh

You should see as output several programs separated by the characters

---------- BEGIN PROGRAM  ----------

To run Bayou on some of the provided examples, execute:

./synthesize.sh example_inputs/<Program.java>

where Program.java is the name of the example program.

About

System for synthesizing Java code, powered by Bayesian machine learning

http://www.askbayou.com

License:Apache License 2.0


Languages

Language:Java 69.8%Language:Python 28.5%Language:Shell 1.7%