Saturday, February 25, 2017

New A.I. Steals Code for User

DeepCoder: Microsoft’s New AI Writes
Code For People Who Don’t Know Coding
It steals the code to do so.

DeepCoder is an artificial intelligence system built by the researchers at Microsoft and the University of Cambridge. Based on a technique called program synthesis, DeepCoder can write working code after searching from a huge code database. It tries to make the best possible arrangement for the harvested code fragments and improves its efficiency over time.

We have about the very basic artificial intelligence systems to the ones capable of helping humans. Now, various neural networks have started to write their own code, they can fix security flaws in routers. Now, here is DeepCoder, an AI trained to use pieces of code from existing software and write a code of its own.

DeepCoder is a collaborative effort from the researchers at Microsoft and the University of Cambridge. To solve programming problems and write code, it uses a technique known as program synthesis. The work is published in the research paper, DeepCoder: Learning To Write Programs.

The neural network can make the lives of developers easier. It can take design clues and develop a program after harvesting appropriate lines of code from a massive code database using machine learning. It analyzes which lines would be the best fit and writes a working code, all of that in a matter of a few seconds.

DeepCoder’s efficiency improves over time, as it solves more and more problems. According to Marc Brockschmidt of Microsoft Research, who is a part of the project, such system could be of a great utility to non-coders. They only have to describe their program idea and wait for the system to create it.

We might end up having such system in the next few years. But for now, DeepCoder’s capabilities are limited to programs consisting of five lines of code. It does have a potential in automating code development, but according to Armando Solar-Lezama of MIT, it isn’t going to take away the jobs of developers. Program synthesis based system can be used to automate the tedious part of code development and let the developers focus on complex tasks.

No comments:

Post a Comment