Recently a team of researchers and scientists were able to develop an AI which can write code and also predict the solutions for developers navigating through numerous challenges while embedding an undocumented-APIs. This application is named Bayou, came from an initiative which aimed a extracting information and data from online repositories.
“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,”
says Bayou co-creator Swarat Chaudhuri, associate professor of computer science at Rice University.
“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.”
In an conference they also mentioned that Bayou is a small improvement but still far from what they are determined to make and gift our society, as at of current situation Bayou does not write any code completely but takes very little information from the developer like just a few keywords or prompts and using the algorithms and data set it has already studied it will try to predict what developer is thinking and which pre-existing software solution would best fit here, software solutions being best APIs for that purpose, or the best algorithms available to deal with it.
Chaudhuri also said that Bayou was trained on millions of lines of human written code in Java. She also mentioned that Bayou has basically studied on every accessible repository present on Github, and it uses that information and study of it’s to write and predict code.
As programming is evolving day by day the creator believes that it is not a case now a programmer should write full code from scratch to entire end, the co-founder also pressured on Bayou being a useful AI for synthesizing examples of code for specific software APIs.
Modern Software development contains a major portion and is fully dependent on APIs. APIs or the Application Programming Interface is basically the set of subroutine definitions, protocols, and tools for developing and building application software. They vastly help in interacting with specific Operating Systems, databases, hardware platforms or any other application software.
There are tons of APIs, and checking all of them is next to impossible for a developer due to which they spend a lot of time searching the one which is correct for their use and best option for them, they spend hours searching them on platforms alike Stack Overflow, community forums and many more such sites where they request other fellow developers to help them who might have incurred the same problem or knows about the solution. This was the main reason Bayou was developed.
Bayou is based on the method of deep learning called neural sketch learning; in it, an artificial neural network is trained which recognizes high-level patterns in millions of programs written in Java. When a developer asks Bayou any question the system predicts what is the program the solution might have been asked for it then creates a sketch of most likely programs for the asked questions and displays it.