Rice University researchers created a deep learning, software coding application called BAYOU that can help human programmers work with APIs.
Building a slide deck, pitch, or presentation? Here are the big takeaways:
- Rice University researchers created an application called BAYOU that uses deep learning to write code for programmers.
- BAYOU was created with funding from the US Department of Defense.
A new deep learning, software coding application can help human programmers navigate the increasingly complex number of APIs, making coding easier for developers.
The system—called BAYOU—was developed by Rice University computer scientists, with funding from the US Department of Defense's Defense Advanced Research Projects Agency (DARPA) and Google.
While the technology is in its infancy, it represents a major breakthrough in using artificial intelligence (AI) for programming software, and can potentially make coding much less time intensive for human developers. BAYOU essentially acts as a search engine for coding, allowing developers to enter a few keywords and see code in Java that will help with their task.
Researchers have tried to build AI systems that can write code for more than 60 years, but failed because these methods require a lot of details about the target program, making them inefficient, BAYOU co-creator Swarat Chaudhuri, an associate professor of computer science at Rice, said in a press release.
SEE: IT leader's guide to the future of artificial intelligence (Tech Pro Research)
"Bayou is a considerable improvement," Chaudhuri said in the release. "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."
BAYOU trained itself by studying millions of lines of human-written Java code from GitHub, and draws on that to write its own code, according to the release. It is based on a method called neural sketch learning, which trains an artificial neural network to recognize high-level patterns in hundreds of thousands of Java programs.
The system can generate API idioms, or snippets of code that use APIs, in Java, according to its website.
"Modern software development is all about APls," BAYOU architect Vijay Murali, a research scientist at Rice lab, said in the release. "There are hundreds of APIs, and navigating them is very difficult for developers. They spend lots of time at question-answer sites like StackOverflow asking other developers for help."
Now, developers can ask BAYOU these questions, and receive an immediate response. "Users can specify programming tasks within their code by issuing a query to Bayou about the kind of program that will likely solve the tasks," the BAYOU website stated. "Bayou's job is to use the user's code and the query in order to generate the right program for the task."
To learn more and try the system out, go to askbayou.com.
- How to build a successful developer career (free PDF) (TechRepublic)
- Which programming languages are most popular (and what does that even mean)? (ZDNet)
- Cheat sheet: How to become a data scientist (TechRepublic)
- These five programming languages have flaws that expose apps to attack (ZDNet)
- The 5 worst programming languages to learn in 2018 (TechRepublic)