{"id":9606,"date":"2019-10-16T07:00:18","date_gmt":"2019-10-16T15:00:18","guid":{"rendered":"http:\/\/formtek.com\/blog\/?p=9606"},"modified":"2019-08-27T14:57:53","modified_gmt":"2019-08-27T22:57:53","slug":"program-synthesis-software-that-writes-itself","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/program-synthesis-software-that-writes-itself\/","title":{"rendered":"Program Synthesis: Software that Writes Itself"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Can AI algorithms ever take over the role of software engineers?  It may be a long ways away, but researchers are trying to teach computers to write software, a task that they&#8217;re calling &#8216;Program Synthesis&#8217; or &#8216;Automated Programming&#8217;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <a href=\"https:\/\/www.seas.upenn.edu\/directory\/profile.php?ID=2\">Rajeev Alur<\/a>, a professor in the department of computer and information science at the University of Pennsylvania ,<a href=\"https:\/\/www.sciencedaily.com\/releases\/2016\/08\/160815134941.htm\"> said that <\/a>&#8220;computers have revolutionized our daily lives, and yet the way we program computers has changed little in the last several decades.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AI is beginning to influence the way that software is created.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/people.csail.mit.edu\/asolar\/\">Armando Solar-Lezama<\/a>, a professor at MIT\u2019s Computer Science and Artificial Intelligence Laboratory, <a href=\"http:\/\/news.mit.edu\/2019\/toward-artificial-intelligence-that-learns-to-write-code-0614\">said that<\/a> &#8220;programming, after all, has always evolved. When Fortran was introduced in the 1950s, it was meant to replace human programmers. Its full name was Fortran Automatic Coding System, and its goal was to write programs as well as humans, but without the errors. What it really did was automate much of what programmers did before Fortran. It changed the nature of programming.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Engineer.AI <a href=\"https:\/\/www.newscientist.com\/article\/mg23331144-500-ai-learns-to-write-its-own-code-by-stealing-from-other-programs\/#ixzz5xqNivvRi\">said that<\/a> &#8220;we realize ourselves that automatic software development (program synthesis) is at least 7 years away.&nbsp; We will continue to use AI to eventually automate all of the repetitive tasks in the build, run, and scale process.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Programmers today don&#8217;t need to worry about their jobs just yet.  Near-term AI will more likely produce tools that will focus on speeding the work of developers.   Solar-Lezama <a href=\"https:\/\/www.newscientist.com\/article\/mg23331144-500-ai-learns-to-write-its-own-code-by-stealing-from-other-programs\/\">said that<\/a> &#8220;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.&#8221;<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fprogram-synthesis-software-that-writes-itself%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Can AI algorithms ever take over the role of software engineers? It may be a long ways away, but researchers are trying to teach computers to write software, a task that they&#8217;re calling &#8216;Program Synthesis&#8217; or &#8216;Automated Programming&#8217;. Rajeev Alur,<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/program-synthesis-software-that-writes-itself\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[69,78],"tags":[],"class_list":["post-9606","post","type-post","status-publish","format-standard","hentry","category-artificial-intelligence","category-code-development"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9606","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=9606"}],"version-history":[{"count":2,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9606\/revisions"}],"predecessor-version":[{"id":9608,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/9606\/revisions\/9608"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=9606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=9606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=9606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}