编程|程序员又要失业?MIT 等推出新的机器编程系统


编程|程序员又要失业?MIT 等推出新的机器编程系统
文章图片
编程|程序员又要失业?MIT 等推出新的机器编程系统
文章图片
编程|程序员又要失业?MIT 等推出新的机器编程系统
7月29日 , 英特尔官网消息 , 英特尔和麻省理工学院(MIT)、乔治亚理工学院(Georgia Tech)共同推出了一种新的机器编程(MP)系统——机器推断代码相似性系统(MISIM) 。
通过识别相似代码段 , 分析代码目的、作用的相似性 , MISIM 可以完成一些编程任务 , 提供编程方法建议或选项 , 即用 AI 代替程序员做部分工作 , 如自动化错误检测等 。
“英特尔机器编程的最终目的是使软件创建民主化” ,英特尔首席科学家兼机器编程研究总监/创始人 Justin Gottschlich 说 。 英特尔目前计划在内部使用 MISIM , 以协助开发人员完成调试等日常工作 。
IT 领域中 , AI 的许多应用场景都是机器编程 。 最近引起热议的 人类算力天花板?1750 亿参数的 AI 模型 GPT-3 引爆硅谷?  , 也是可以直接写代码 。
如有人用 GPT-3 将日常语言转换成 Python 代码来创建资产负债表;还有开发者调用 GPT-3 API 做了一个网页 App 快速生成器 , 在输入框里用自然语言进行描述 , 它就可以快速输出相应的用户界面 , 比如输入“生成一个像西瓜一样的按钮”:
也有人早就开源了同样是机器编程的 AI 项目 。 如2018年 , 使用 keras 深度学习框架的项目 Sketchcode 开源 , Sketchcode 可以直接将手绘的手稿图生成 HTML 代码 。
AI 在 IT领域的应用还有 AI 自动测试 , 无码/低代码探讨等话题 , 本篇先从 MISIM 说起 , 看看机器编码的一些项目 。
MISIM:AI 评估代码围绕 MISIM 的技术论文已经公开 。 该论文首先阐述了机器编程和代码相似系统的关系:机器编程领域涉及软件开发的自动化 , 近年来出现许多 MP 系统 , 部分原因是机器学习、形式方法、数据可用性和计算效率的进步 。
而在 MP 系统中 , 一大挑战就是精确构建代码相似性系统 。 代码相似性系统往往包含许多复杂的组件 , 其中即使是最基本的组件的选择 , 如代码的结构表示都仍不明确 。 代码相似性的研究还处在早期阶段 , 但相关探索已越来越多 , MISIM 也是其中之一 。
MISIM 中的组件可以单独或一起使用 , 核心部件有两个 。
一是一种新的上下文感知语义结构 CASS , 用来从代码语法中提升语义意义 。 目的是捕捉输入代码的语义的显著特性 。 CASS 的上下文感知功能 , 可以用来捕获描述代码的上下文信息 , 例如 , “这段代码是函数调用”、“这段是操作”等等 。
其二 , MISIM 提供了一种基于神经的学习代码相似性评分算法 , 可以用各种具有学习参数的神经网络体系结构来实现 。 该算法分两个阶段 , 第一阶段涉及一个神经网络模型 , 可将一个特征化的 CASS 映射到一个实值代码向量 。 第二个阶段使用相似性度量在一对代码向量之间生成相似性评分 。
针对该系统的性能 , 其研究团队筛选出三个代码相似性系统做比较:code2vec、神经代码理解 NCC、代码推荐系统 Aroma 。 比较实验使用 POJ-104 数据集 , 由学生编写的 C/C++程序组成 。