麻省理工学院和英特尔的研究人员团队创建了一种可以创建算法的算法。从长远来看,这可能会从根本上改变软件开发人员的角色。
对绝大多数人而言,编写代码类似于学习一种新语言,但是英特尔和麻省理工学院的研究人员的使命是改变这种状况。他们提出的解决方案是构建可编码的代码。
研究人员关注的领域叫做机器编程,它涉及自动化软件开发。该团队刚刚揭示了一种新工具,该工具使开发人员有一天可以拥有可以自我编程的机器。
英特尔和麻省理工学院的实验室发明的新技术MISIM(机器推断的代码相似性)有效地研究了代码片段,以了解某软件打算做什么。然后,系统可以建立数据库,在数据库中为具有相似结果的软件代码提供相似性评分。
基于此现有代码目录,MISIM可以了解新算法的意图,并通过建议其他编程方法或提供更正和选项来提高代码效率,从而帮助工程师开发软件。
目前,英特尔计划在内部使用该工具,以协助开发人员完成诸如调试之类的日常任务,目前据信这将占用程序员一半的时间。因此,毫不奇怪,随着MISIM开始部署,该公司期望大量的开发人员兴奋。
英特尔实验室的科学家赖安·马库斯(Ryan Marcus)告诉ZDNet:“ MISIM的目标是为开发人员提供各种选择,例如“什么是使用此API的最有效方法”或“我如何正确验证此输入”。应该给工程师更多的时间来专注于他们的工作元素,这些元素实际上会对现实世界产生影响。”
MISIM的基础原理被称为“代码相似性系统”,它并不陌生:试图确定一段代码是否与另一段代码相似的技术已经存在,并且被开发人员广泛使用,以从其他现有程序中获取见识。
例如,Facebook 使用一种名为Aroma的代码推荐系统,该系统类似于自动文本,根据工程师经常编写与已经编写的代码相似的代码的建议,为工程师已经编写的代码片段推荐扩展名。被写。
但是大多数现有系统集中于如何编写代码以建立与其他程序的相似性。另一方面,MISIM着眼于一段代码打算做什么,而不管其设计方式如何。这意味着即使使用不同的语言,数据结构和算法来执行相同的计算,MISIM仍然可以建立相似性。
该工具使用一种称为上下文感知语义结构(CASS)的新技术,该技术可使MISIM在更高级别上解释代码-不仅是程序的结构,而且还包括其意图。当代码出现时,算法会将其转换为一种形式,表示软件的工作方式,而不是软件的编写方式。MISIM然后将找到的代码结果与从在线存储库中获取的数百万其他程序的结果进行比较。
建立与其他代码段的链接后,MISIM可以通过建议执行相同计算的替代方法(可能更快,更高效)来充当工程师的推荐系统。
英特尔机器编程研究团队的负责人贾斯汀·戈茨利希(Justin Gottschlich)告诉ZDNet,随着软件开发变得越来越复杂,MISIM可能会对生产率产生巨大影响。
他说:“我们引进高级开发人员的速度无法与我们引进新芯片架构和软件复杂性的速度相匹配。” “利用当今的异构硬件(CPU,GPU,FPGA,ASIC,神经形态芯片以及即将推出的量子芯片),要找到能够正确,高效,安全地跨所有硬件编程的开发人员将变得困难,甚至不可能。”
但是,机器编程的长期目标远远超出了当今支持软件开发的范围。毕竟,如果一项技术可以评估意图并提供相应的代码片段作为响应,那么想像一下该算法可以被任何具有良好软件构想的普通大众使用,似乎并不为过。
例如,结合自然语言处理,MISIM理论上可以对口头线索做出反应,有一天,人们可以通过简单地描述程序来编写程序。换句话说,一种Alexa,但是用于软件开发。
Gottschlich解释说,软件开发目前仅限于全球2700万人中可以编码的人。扩大这个数字并延长一天的时间是机器编程的最终目标,让人们以不同于代码的其他方式表达他们的想法-无论是自然语言,视觉图表还是手势。
这个想法是否完全标志了开发人员的角色?Gottschlich说不是那么快。机器编程将始终需要一些代码形式的数据,而专业人员则需要管理更专业的编程方面。但是,不同之处在于,将有数百万的人尝试开发软件–如果有的话,将为传统编码员带来更多工作。
Gottschlich说:“当机器编程完全实现时,我们相信它不会消除工作,而是创造工作-可能有数百万个工作。”
MISIM背后的团队所设想的自动化软件开发距离还有很长的路要走。但是,与许多创新一样,现在想想这项技术可能带来的影响,无论好坏,都还为时过早。
英特尔和麻省理工学院的实验室在解决机器编程带来的技术挑战的同时,正在研究这些哲学和道德问题。已经开始进行谈判以减轻对该技术的负面使用-研究人员不太可能很快就会耗尽话题进行辩论。
网友评论文明上网理性发言已有1人参与
发表评论:
评论列表