Recently a team of researchers and scientists was able to develop an AI which can write code and also predict the solutions for developers navigating through numerous challenges while embedding undocumented APIs. This application is named Bayou and came from an initiative that aimed to extract 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 a 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 the 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 studied every accessible repository present on Github, and it uses that information and study of its to write and predict code.
As programming is evolving day by day the creator believes that it is not the case now a programmer should write full code from scratch to the entire end, the co-founder also pressured Bayou to be 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 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 for the one which is correct for their use and the best option for them, they spend hours searching them on platforms like 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 program the solution might have been asked for it then creates a sketch of the most likely programs for the asked questions and displays it.