{"id":179337,"date":"2017-02-23T13:15:00","date_gmt":"2017-02-23T18:15:00","guid":{"rendered":"http:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/ai-learns-to-write-its-own-code-by-stealing-from-other-programs-new-scientist\/"},"modified":"2017-02-23T13:15:00","modified_gmt":"2017-02-23T18:15:00","slug":"ai-learns-to-write-its-own-code-by-stealing-from-other-programs-new-scientist","status":"publish","type":"post","link":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/ai\/ai-learns-to-write-its-own-code-by-stealing-from-other-programs-new-scientist\/","title":{"rendered":"AI learns to write its own code by stealing from other programs &#8211; New Scientist"},"content":{"rendered":"<p><p>Set a machine to program a machine    <\/p>\n<p>      iunewind\/Alamy Stock Photo    <\/p>\n<p>    By Matt Reynolds  <\/p>\n<p>    OUT of the way, human, Ive got this covered. A machine    learning system has gained the ability to write its own code.  <\/p>\n<p>    Created by researchers at Microsoft and the University of    Cambridge, the system, called DeepCoder, solved    basic challenges of the kind set by programming competitions.    This kind of approach could make it much easier for people to    build simple programs without knowing how to write code.  <\/p>\n<p>    All of a sudden people could be so much more productive, says    Armando    Solar-Lezama at the Massachusetts Institute of Technology,    who was not involved in the work. They could build systems    that it [would be] impossible to build before.  <\/p>\n<p>    Ultimately, the approach could allow non-coders to simply    describe an idea for a program and let the system build it,    says Marc    Brockschmidt, one of DeepCoders creators at Microsoft    Research in Cambridge, UK.  <\/p>\n<p>    DeepCoder uses a technique called program synthesis: creating    new programs by piecing together lines of code taken from    existing software  just like a programmer might. Given a list    of inputs and outputs for each code fragment, DeepCoder learned    which pieces of code were needed to achieve the desired result    overall.  <\/p>\n<p>    It could allow non-coders to simply describe an idea for a    program and let the system build it  <\/p>\n<p>    One advantage of letting an AI loose in this way is that it can    search more thoroughly and widely than a human coder, so could    piece together source code in a way humans may not have thought    of. Whats more, DeepCoder uses machine learning to scour    databases of source code and sort the fragments according to    its view of their probable usefulness.  <\/p>\n<p>    All this makes the system much faster than its predecessors.    DeepCoder created working programs in fractions of a second,    whereas older systems take minutes to trial many different    combinations of lines of code before piecing together something    that can do the job. And because DeepCoder learns which    combinations of source code work and which ones dont as it    goes along, it improves every time it tries a new problem.  <\/p>\n<p>    The technology could have many applications. In 2015,    researchers at MIT created a    program that automatically fixed software bugs by replacing    faulty lines of code with working lines from other programs.    Brockschmidt says that future versions could make it very easy    to build routine programs that scrape information from    websites, or automatically categorise Facebook photos, for    example, without human coders having to lift a finger  <\/p>\n<p>    The potential for automation that this kind of technology    offers could really signify an enormous [reduction] in the    amount of effort it takes to develop code, says Solar-Lezama.  <\/p>\n<p>    But he doesnt think these systems will put programmers out of    a job. With program synthesis automating some of the most    tedious parts of programming, he says, coders will be able to    devote their time to more sophisticated work.  <\/p>\n<p>    At the moment, DeepCoder is only capable of solving programming    challenges that involve around five lines of code. But in the    right coding language, a few lines are all thats needed for    fairly complicated programs.  <\/p>\n<p>    Generating a really big piece of code in one shot is hard, and    potentially unrealistic, says Solar-Lezama. But really big    pieces of code are built by putting together lots of little    pieces of code.  <\/p>\n<p>    This article appeared in print under the headline Computers    are learning to code for themselves  <\/p>\n<p>    More on these topics:  <\/p>\n<p><!-- Auto Generated --><\/p>\n<p>The rest is here:<\/p>\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https:\/\/www.newscientist.com\/article\/mg23331144-500-ai-learns-to-write-its-own-code-by-stealing-from-other-programs\/\" title=\"AI learns to write its own code by stealing from other programs - New Scientist\">AI learns to write its own code by stealing from other programs - New Scientist<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p> Set a machine to program a machine iunewind\/Alamy Stock Photo By Matt Reynolds OUT of the way, human, Ive got this covered. A machine learning system has gained the ability to write its own code.  <a href=\"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/ai\/ai-learns-to-write-its-own-code-by-stealing-from-other-programs-new-scientist\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[187743],"tags":[],"class_list":["post-179337","post","type-post","status-publish","format-standard","hentry","category-ai"],"_links":{"self":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/posts\/179337"}],"collection":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/comments?post=179337"}],"version-history":[{"count":0,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/posts\/179337\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/media?parent=179337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/categories?post=179337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.euvolution.com\/prometheism-transhumanism-posthumanism\/wp-json\/wp\/v2\/tags?post=179337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}