Rice University informatics have developed a deep software coding application that can help programmers navigate the growing number of often document-free application programming interfaces (APIs).
The Rice application, known as Bayou, was developed as part of an initiative funded by the Agency for Advanced Defense Research Projects to extract knowledge from online source archives such as GitHub. An article on Bayou will be presented on May 1 in Vancouver, British Columbia, at the 6th International Conference on Learning Representations, the main platform for research on in-depth learning. Users can try on askbayou.com.
Designing applications that can program computers is a very popular Graal in the area of information technology called Artificial Intelligence (AI).
"People have spent 60 years trying to develop systems that can write code, but the problem is that these methods are not good with ambiguity," said Bayou co-creator Swarat Chaudhuri, a computer science professor. at Rice. "Typically, you need to specify many details about the destination program and make a note of these details.
"Bayou is a significant improvement," he said. "A developer can give Bayou a very small amount of information - a few key words or requests, in fact - and Bayou try to read the programmer's mind and deliver the program he wants."
Chaudhuri said that Bayou trained by studying millions of lines of human Java code. "Basically, he found it all on GitHub and created it in his code."
Bayou's co-creator, Chris Jermaine, a computer science professor and co-director of Intelligent Systems Laboratory software Chaudhuri said Rice Bayou was particularly helpful in summarizing code examples for specific software APIs.
"Programming is very different from 30 or 40 years ago," said Jermaine. "Computers are in our pockets today, on our wrists, billions of home appliances, vehicles and other devices, and on days when programmers can write code from scratch it will no longer exist."
The architect Bayou Vijay Murali, a laboratory researcher, said: "The development of modern software is all LPAs, which are rules, tools, system settings and specific coding protocols with a specific operating system, a bank data There are hundreds of APIs and navigation for developers is very difficult.You spend a lot of time answering questions and sites like Stack Overflow asking for help from other developers.
Murali said that developers can now start asking some of those questions in Bayou, which will give an immediate response.
"This immediate feedback can immediately solve the problem and, if not, the Bayou sample code should lead to a more informed question for its human counterparts," Murali said.
Jermaine said the main goal of the team is to let developers develop Bayou, which was released under the liberal open source license.
"The more information we have about what people expect from a system like Bayou, the better we can do it," he said. "We want many people to use it as we can." Bayou is based on a method called Neuronal Sketch Learning, which trains an artificial neural network to detect high-level models in hundreds of thousands of Java programs. To do this, create a "sketch" for each program read and links that draw "intent" behind the program.
When a user asks Bayou questions, the system makes a decision about which program is invited to write. It then creates sketches for some of the most likely possible programs that the user could want.
"Based on this assumption, a separate part of the Bayou, a module that understands low-level Java details and can reason logically automatically, will generate four or five different sections of code," said Jermaine. "It will introduce you to the user as a hit on a web search." "This is probably the right answer, but here are three more that could be what you're looking for."
Thursday, May 3, 2018
Turning deep-learning AI loose on software development
Subscribe to:
Post Comments (Atom)
No comments:
Write comments