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.
- JDK 1.8
- Python3 (Tested with 3.5.1)
- Tensorflow (Tested with 1.2)
- scikit-learn (Tested with 0.19)
git clone https://github.com/capergroup/bayou.git
cd bayou/tool_files/build_scripts
sudo ./install_dependencies.sh
./build.sh
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.