# bayou **Repository Path**: mirrors/bayou ## Basic Information - **Project Name**: bayou - **Description**: Bayou 是 Java API 惯用语的数据驱动程序综合系统,它从 GitHub 上采集数据,通过深度学习算法和训练,将 Java 代码编写部分自动化 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/bayou - **GVP Project**: No ## Statistics - **Stars**: 16 - **Forks**: 2 - **Created**: 2020-08-07 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Bayou Bayou is a data-driven program synthesis system for Java API idioms that uses the novel technique of Neural Sketch Learning. To learn more, click [here](https://arxiv.org/abs/1703.05698) for the ICLR 2018 paper on Bayou. Click [here](https://github.com/capergroup/bayou/tree/master/doc/external) for the PLDI 2018 tutorial slides on Bayou. Try Bayou on your browser! Visit www.askbayou.com. ## Requirements - JDK 1.8 - Python3 (Tested with 3.5.1) - [Tensorflow](https://www.tensorflow.org) (Tested with 1.4) - 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/ ``` where ```Program.java``` is the name of the example program.