首页 > > > 如果一个AI会编程 还能修复BUG 可能吗?
点击上方“蓝字”可以关注我们哦
试着想想看人工智能未来的日子是什么样子?如果在未来的某一天汽车可以自动驾驶,一场高难度的手术可以靠医用机器完成,可以自由思考的消息回复精灵,随处可见像大白一样暖男...这些如果你都能想到,有没有猛然有个想法——让计算机自己编程。别说,真有人这么想。Lucas Carlson 就是其中一位,他认为人工智能在未来可以为编程领域带来新的变革。
2016年11月末,Lucas Carlson 撰文:
目前,机器学习方面的专家倾向于把研究聚焦于具体领域内高度裁剪的 AI 应用——比如:面部识别、自动驾驶汽车、语音识别,甚至是互联网搜索结果等方面。但是,这些技术同样可以应用到让计算机理解其自身的代码架构上——当然这里是指脱离人类的帮助、解释和干涉的情况下进行的理解——其实这种对代码的“理解”和让计算机理解自然语言,或是识别图像并没有本质的区别。
如果代码能够自我分析——做到比人类更快地修正错误并不断优化——那么技术革新将会发生得越来越快。其带来的可能性几乎是无穷无尽的:医学上的进步,更智能的机器人,更“智能“的手机等等。
在2017年2月23日这天,NewScientist报道,微软和剑桥大学的研究员近日发布了一篇论文,文中阐述了其科研成果:一个会编程的机器学习系统,取名DeepCoder。

论文:https://openreview.net/pdf?id=ByldLrqlx
微软和剑桥大学研究人员联合创建的机器学习系统 DeepCoder 学会了怎样自己完成编写代码。并且能让一个人在没有掌握必要编程知识的条件下,构建出简单的应用程序。
如此一来就是说在未来,非程序员也可以先通过简单的描述出一个程序的想法,然后让机器学习系统将其构建出来。目前,DeepCoder使用了被称为「程序合成」(Inductive Program Synthesis)的技术,将来自现有软件的一行行源代码拼接在一起。
现在DeepCoder 学会要实现预期结果需要使用到哪部分代码,只要首先给定每一个代码片段的输入和输出列表,这样做它的一大优势是速度,能在几分之一秒内创建出一个可工作的程序。在了解了哪一部分源代码能工作,哪一部分不能之后,DeepCoder 能改进每一次创建的新程序。不过可惜的是,DeepCoder只能生成五行左右代码的程序。不过相信程序猿都明白,一行代码一行泪,几行代码也能抵上一段复杂的代码了。
没有参与 DeepCoder 项目的麻省理工学院Armando Solar-Lezama 认为,这类技术在自动化方面有很大潜能,将极大减少在开发代码方面的精力消耗。但冷静下来想想,如果AI会编程,真的是一件细思极恐的事情。虽然现在想一下子生成一大段代码,有点不现实。不过两点成线,连线成圆,所有事情都是一步一步从小累积而成,坚持的力量不可小觑。
同时Armando Solar-Lezama也认为,DeepCoder并不会让程序员失业下岗。因为「程序合成」是把编程阶段枯燥部分自动化了,所以程序猿们还是要把更多精力放在更为复杂的任务上,也就是说,在未来程序猿也许还可以享受配置一个不会吵嘴、勤勤恳恳的实习生AI呢。
我还能自动修 Bug
2015 年 6 月下旬,麻省理工学院的研究人员展示了一个新系统,可以通过从其他更加安全的应用中自动导入相关功能,借以修复原来软件中的危险漏洞。
这个引人注目的系统取名CodePhage 。这个原理是,CodePhage借用其他程序时并不需要访问借主应用的源码。相反,该系统分析这个应用的执行情况,并标记出其安全检查类别的特性。因此,即使所编写的语言与被修复应用的语言不同,该系统仍然可以从中导出检查功能用来修复应用。
并且CodePhage将代码导入易受攻击的程序后,还会进行进一步分析以确保漏洞被修复,扎心了,老铁,这就稳了。MIT计算机科学与人工智能研究室(CSAIL)的研究员,CodePhage 的研发领导人员 Stelios Sidiroglou-Douskos 表示:
“我们在开源库里有大量代码可用,数百万计项目,而且很多项目都有类似的实现了。这些项目总有一些可以与别的许多项目共享功能的子模块,即便那不一定是该程序的核心功能。”
有了 CodePhage,“你将逐渐建立一个集其他应用最优秀部分于一身的混合系统。”
会编程的 AI + 会修 Bug 的 AI =?
看到这里,觉得 AI 技术离你还很远么?如果你意识到,有些公司已经开始使用 AI 的概念来做内部项目管理系统了,你会不会感到惊奇?是的,Google就是如此,它构架了一套bug预测程序,用机器学习和统计学分析的方法来预测一段代码是否存在潜在的bug。
所以即会编程,又会修BUG的AI在你看来可能吗?打开你的脑洞畅享吧。

我知道一种学习
○
于坚

原文作者:;如有侵权,请联系管理员删除。