Researchers created a deep learning tool that could help human programmers write code.
Researchers from the Rice University’s Intelligent Software Systems Laboratory developed a deep learning tool that acts as a coding search engine. The said AI tool could help programmers write code snippets containing Java application programming interfaces (APIs).
The new system dubbed as BAYOU was funded by the U.S. Department of Defense’s Defense Advanced Research Projects Agency (DARPA) and Google.
While the technology is still new, it is considered an artificial intelligence breakthrough that could make coding quicker and easier for human developers. Since Bayou works like a search engine, developers could just enter a few keywords and see codes in JAVA that could help them in their tasks.
“Bayou is a considerable improvement. A developer can give Bayou a very small amount of information — just a few keywords or prompts, really — and Bayou will try to read the programmer’s mind and predict the program they want,” Swarat Chaudhuri, an associate professor of computer science at Rice University, said in a statement.
For decades, scientists have tried to leverage machine learning and AI systems for writing code. However, previous attempts have failed because techniques require pertinent details about target program which made them inefficient.
“People have tried for 60 years to build systems that can write code, but the problem is that these methods aren’t that good with ambiguity,” Chaudhuri went on to say. “You usually need to give a lot of details about what the target program does, and writing down these details can be as much work as just writing the code.”
According to the researchers, Bayou has trained itself by studying millions of lines of human-written Java code. Chaudhuri further said that the deep learning tool basically studied everything there is on GitHub.
Bayou is based on a method known as neural sketch learning. Using this technique, the artificial neural network is being trained to recognize high-level patterns in hundreds of thousands of Java programs. The system does this by sketching the program it reads and then relating the sketch with the so-called intent of the program.
“Based on that guess, a separate part of Bayou, a module that understands the low-level details of Java and can do automatic logical reasoning, is going to generate four or five different chunks of code,” Chris Jermaine, co-creator of Bayou, explained.
“It’s going to present those to the user like hits on a web search. ‘This one is most likely the correct answer, but here are three more that could be what you’re looking for.’”
The researchers presented their paper on Bayou at the Sixth International Conference on Learning Presentations in Canada on Tuesday.