Tired of writing your own boring code for new software? Finally, there's an AI that can do it for you.
BAYOU is an deep learning tool that basically works like a search engine for coding: tell it what sort of program you want to create with a couple of keywords, and it will spit out java code that will do what you’re looking for, based on its best guess.
The tool was developed by a team of computer scientists from Rice University who received funding both from the military and Google. In a study published earlier this month on the preprint server arXiv, they describe how they built BAYOU and what sorts of problems it can help programmers solve.
Basically, BAYOU read the source code for about 1500 Android apps, which comes out to 100 million lines of Java. All that code was fed through BAYOU’s neural net, resulting in AI that can, yes, program other software.
If the code that BAYOU read included any sort of information about what the code does, then BAYOU also learned what those programs were intended to do along with how they work. This contextual information is what lets the AI write functional software based on just a couple of key words and basic information about what the programmer wants.
Computer science majors, rejoice: your homework might be about to get much easier. And teaching people how to code may become simpler and more intuitive, as they may someday use this new AI to generate examples of code or even to check their own work. Right now, BAYOU is still in the early stages, and the team behind it is still proving their technology works.
No, this is not that moment in which AI becomes self-replicating; BAYOU merely generates what the researchers call “sketches” of a program that are relevant to what a programmer is trying to write. These sketches still need to be pieced together into the larger work, and they may have to be tailored to the project at hand.
But even if the technology is in its infancy, this is a major step in the search for an AI programmer, a longstanding goal for computer science researchers. Other attempts to create something like BAYOU required extensive, narrow constraints to guide programmers towards the correct type of code. Because BAYOU can get to work with just a couple of keywords, it’s much less time-intensive, and much easier to use overall, for the human operators.