If you have followed Season 1 of “Westworld” in HBO, the one thing that turned artificial intelligence (AI) into reality is the host’s ability to write its codes. It is like enabling computers to do reasoning by themselves, which is still far from reality today. A deep learning algorithm based on a probability-oriented program has narrowed that gap. DeepCoder has been bringing Microsoft and Cambridge University researchers closer to a computer program learning to code by itself.

DeepCoder is a system that allows computer programs to ‘learn’ from previously collected data. It is a kind of machine learning system. It assembles a new program by combining existing line codes from other software, as human coders usually do. Given a pre-determined output, DeepCoder identifies what are useful lines and code components.

Training in a neutral network, DeepCoder predicts an expected output given a set of specific inputs. Microsoft’s Alexander Gaunt and Cambridge’s researcher Matej Balog used the prediction of the neural network to back up searches done in the community of programming languages, SMT-based solvers, and enumerative search. This April, the 5th International Conference of Learning Representations (ICLR 2017) will review Gaunt’s and Balog’s work.

Everyone Could Be Coders Now

DeepCoder could comb through the input-output challenges faster than any competition, including humans. At a swift pace, it could also assemble codes in ways that humans could not imagine. Since it is essentially a ‘deep learning algorithm’, DeepCoder gets better as a new problem is given, and it gets ‘wiser’ at combining lines of codes from the source.

Soon, this computer program would make coding easy for non-coders and allows anyone to code simple programs.

Marc Brockschmidt of Microsoft Research in Cambridge, UK is one of DeepCoder’s creators. He believes non-coders could later do a computer program just by describing what it does and leave the coding to the system. MIT Professor Armando Sola-Lezama told New Scientist it is now possible to “build systems impossible to build before.”

The current test version of DeepCoder is only capable of handling around five lines of code. Brockschmidt said the future version could create computer programs out of data mined from websites without human intervention. Solar-Lezama also believes this automation has a huge potential to reduce efforts in developing code.

Coders need not start rewriting their resumes because DeepCoder would not replace humans. This computer program learning to code by itself would handle only the tedious aspects of programming so humans could focus on the more complicated elements.


Please enter your comment!
Please enter your name here