This Deep-Learning AI Can Code Just Like a Programmer
Denrie Caila Perez posted on May 10, 2018 |

A team of computer scientists has developed a new AI that can write code and predict software solutions for programmers navigating through numerous application programming interfaces (APIs).

For years, research scientists have been studying how programs can generate instant feedback that coders can address immediately. A wide range of applications has already been created, all of which aim to detect faulty or questionable lines of code. While this has only been minimally integrated into most developers’ software tools, a team of computer scientists from Rice University has recently figured out a way for developers and programmers to receive feedback on their code while suggesting solutions for their programs—all through artificial intelligence (AI).

Bayou is a deep-learning system that can write code for programmers and generate API idioms for complex databases. It teaches itself how to code through GitHub, training with millions of human programmers using Java. It can interpret and recognize high-level patterns in hundreds of thousands of Java programs through an artificial neural network method called Neural Sketch Learning. Developers can initialize variables that are intended to be used in the programming task or submit a query that includes names of API methods or the type of variables for the programming task.

Bayou architect and research scientist Vijay Murali said, “That immediate feedback could solve the problem right away, and if it doesn’t, Bayou’s example code should lead to a more informed question for their human peers.”

The software coding component allows the user to assign programming tasks within their code by issuing a query to Bayou. It takes prompts and interprets the developer’s expected program, offering software solutions. This lets it identify the program that can accomplish particular tasks set by the developer.

It can also provide feedback for coding that involves numerous API applications. Many times, developers are met with the task of navigating through undocumented APIs. This can disrupt productivity and workflow, compromising how smoothly a program is supposed to run. Bayou can use deep-learning AI to synthesize code for specific software APIs.

“Modern software development is all about APIs,” said Murali. “These are system-specific rules, tools, definitions and protocols that allow a piece of code to interact with a specific operating system, database or hardware platform or another software system. There are hundreds of APIs, and navigating them is very difficult for developers. They spend lots of time at question and answer sites like Stack Overflow asking other developers for help.”

The team has recently released Bayou under a permissive open-source license. According to Bayou co-creator Chris Jermaine, the team’s primary goal is for developers to extend Bayou and try out the system. “The more information we have about what people want from a system like Bayou, the better we can make it,” he said. “We want as many people to use it as we can get.”

Bayou was funded by an initiative by the Defense Advanced Research Projects Agency that aims to work with online source code repositories like GitHub. A paper was presented at the Sixth International Conference on Learning Representations on May 1 in Vancouver, British Columbia, regarding the application.

The application can be tried out on for free on askbayou.com. For more on AI integration, check out Artificial Intelligence and Engineering.


Recommended For You