This article details newly released information about a coding artificial intelligence from Rice University located in Houston, TX.
Machine learning and deep learning help artificial intelligence learn and grow.
But an emerging concept within the AI community is “AI as IT”. In fact, Co-CTO of IBM Security, Koos Lodewijkx, describes “Intro to Machine Learning” as one of the most popular new college courses.
So, it’s no surprise that we now have an AI that can code.
What is Rice University’s Bayou AI and how does it fit into AI as IT?
How did Bayou Teach Itself how to Code?
The application Bayou uses deep learning to write code specifically for programmers. The U.S. Department of Defense helped fund the project, developed at Rice University.
Part of the initiative Defense Advanced Research Projects Agency, Bayou also helps people traverse the digital realm of sometimes undocumented APIs. You can even test it out for yourself at askbayou.com.
Co-creator Swarat Chaudhuri told Science Daily that previous attempts at Bayou failed due to ambiguity. Systems like Bayou need “…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.”
In fact, Bayou trained itself by studying information available on GitHub. By “training itself” with millions of human programmer drafted Java code, Bayou can create its own.
The scope of Bayou is a significant step in the AI for IT movement. Chaudhuri further elaborated that Bayou could “read a developer’s mind” with just a few keywords or a short description.
So how did Rice University researchers enable this AI to learn?
Why APIs and What Can Bayou do?
Bayou architect and research scientist Vijay Murali says that all of this relates to APIs. “There are hundreds of APIs, and navigating them is very difficult for developers.” Murali said. Bayou offers the opportunity to spare developers precious time spent navigating databases.
“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,” said Murali.
While Bayou currently works as a parsing tool for APIs, the Rice University team wants to take it further. Fellow co-creator Chris Jermaine said that Bayou will continue to learn, so ask it questions.
Bayou uses neural sketch learning to train the AI neural network to notice high-level patterns among many Java programs. The associative learning process relates unique sketches for each program with the user intent behind the program.
Using its knowledge and sketches, Bayou takes a guess as what a user needs based on the question entered. Jermaine elaborated on this process:
“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…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.”
Applications as AI for IT
Currently, tools like Bayou function alongside programmers and developers. This stands in stark contrast to the fear that all AI will replace humans in various job roles.
But it does expose a growing trend in using AI for IT related tasks. This has applications especially in the cloud computing realm where AI already function as services.
However, Rice University’s work on Bayou represents more than just an API parser.
Bayou represents a major milestone for both developers of AI and developers at-large. It could also be a first step toward the economic hyper-growth fellow Edgy Labs writer Zayan wrote about recently.
Only time will tell, but for now, computer science students can rejoice.
For more technical information on Bayou, check out the Ricer University paper on neural sketch learning.
What would you do with a deep learning AI that wrote code?