Artificial Intelligence is constantly pushing the boundaries of what machines are capable of. AI can do anything that a human can do. In more strict terms, it can do whatever it’s programmed to do. Although, it has been taught to create its own encryption and produced its own universal language. Now, it can write its code by itself by using similar techniques to humans. Scientists have developed a system i.e., AI writes code for itself.
Computer scientists from the University of Cambridge in collaboration with Microsoft have developed a new neural network called DeepCoder. The most interesting part is this AI writes code without any fundamental knowledge of code. It writes only a few lines (Four to Five lines) of code and then steals code from other programs and combine them.
Scientists said, “We have found several problems in real online programming challenges that can be solved with a program in our language. We have made significant process in being able to solve online programming competition problems.”
“For example, the system was able to create a program that could compare two people’s exam results and count how many questions one person got more marks on than the others.”
Instead of using C++ or python, scientists decided to use Domain Specific Languages in DeepCoder. Because Python or C++ was too complex due to the array of options possible within them. The Domain Specific Languages ranges from widely used languages for common domains, such as HTML for web pages. And, this DSL is “loosely inspired” by the SQL or LINQ languages.
The system uses high-level functions in sequences to alter the data in the problems they are trying to solve. Once the code had been chosen, a dataset of existing examples was created.
The dataset was then fed into a machine learning system that deeply searched through the source code and selected which elements may be useful for solving the problem it had been tasked with.
Scientists said, “After observing inputs and outputs it can be used to search for a program that matches the input-output examples”.
In such a way, scientists create the hybrid code.
A scientist from the MIT University, Armando Solar-Lezama said, “Creating a large amount of code is difficult but a piece-by-piece development could help to automate the creation of some programs.”
Scientists said, “The system currently facing small problems but researchers see the bright future of it. We foresee many extensions of DeepCoder and are optimistic about the future prospects of using machine learning to synthesize programs.”