AI 不再重复造轮子 给你推荐更好的代码 还没bug (ai重复上一步操作快捷键是什么)

文章编号:42190 资讯动态 2024-12-04 代码

不再重复造轮子,AI 给你推荐更好的代码,还没bug

程序员的的代码大部分都不是如同写书法那般一挥而就,而需要反复地抠bug,抠到怀疑人生。
不再重复造轮子,AI 给你推荐更好的代码,还没bug
剑桥大学法官商学院发表的一项研究显示, 程序员将50.1%的工作时间用于编程,而将一半的时间用于debug 。估计每年的debug总费用为3120亿美元。
现代软件系统越来越复杂,很多时候一个小小的错误就可能让系统崩溃,带来巨大损失。所以不仅是程序员,企业也在为debug付出巨大代价。但现在,AI带来了福音。
英特尔、麻省理工学院、佐治亚理工学院的研究人员合作开发了自动化代码相似性检测系统MISIM,该系统可以判断两段代码的相似性,即便 这两段代码使用的是不同的结构和算法 ,也可以依据它们是否执行相似的任务、是否有相似的代码特征加以判断。
代码相似性检测可以应用在代码推荐、自动修复bug中。在代码推荐的应用过程有点像输入法的词推荐,由于MISIM可以对不完整的代码片段进行评估, 当它检测到不完整的、有bug的代码时,就会从其它地方选出功能一样的、没有bug的代码,来替换原来的代码。
不再重复造轮子,AI 给你推荐更好的代码,还没bug
并且,MISIM 还会将代码转换为统一的形式,确定代码功能,从而在不受编写方式的影响下进行代码片段的对比。 由于MISIM不受编程语言限制,它还可以用于代码语言转换。
在45,780个程序的实验评估中,MISIM识别C和C ++程序中的代码,这些程序是由学生编写的,旨在解决104个编码问题。如果一对程序都解决了相同的问题,则它们在数据集中被标记为相似。MISIM的表现始终好于三个当前最先进系统,最高达到40.6倍。
自动代码生成一直是一个研究热点,产业界和学术界都在此方向上努力着。OpenAI的GPT-3语言模型甚至可以根据自然语言描述生成网页布局的代码。 而代码相似性检测则可以复用已有代码,使质量高的代码得到更有效的利用。
不再重复造轮子,AI 给你推荐更好的代码,还没bug
输入“创建一个长得像西瓜的按钮”,GPT-3就生成了上图中绿皮红瓢的原型按钮。或者输入“welcome to my Newsletter的大号字体”,GPT-3就生成了上图中的红色大号字体。
当然,代码相似性检测也可以用于代码查重。所以,计算机系的同学们,注意自己写作业!虽然现在已有非AI的代码查重系统,但谁知道AI什么时候会后来居上呢?
不再重复造轮子,AI 给你推荐更好的代码,还没bug
MISIM由两个核心组件组成。首先,MISIM具有新型的上下文感知语义结构(CASS),该结构通过捕获描述代码上下文的信息,使用机器学习算法来确定给定源代码的目的(例如,代码是一个函数调用、一个操作等)。其次,MISIM还具有基于神经网络的代码相似性评估算法,该算法可通过各种神经网络架构来实现。
一旦构建了CASS,就将其向量化并用作神经网络的输入,神经网络会生成特征向量。生成特征向量后,就可以进行代码相似度评估(例如,向量点积、余弦相似度等)。
对于MISIM的相似性评估算法,研究人员研究了三种神经网络方法:GNN、RNN和BoF神经网络。其中,使用GNN的 MISM 总体表现最好,能够以超过75%的准确率识别出两个程序的相似程度。
将代码的结构与CASS集成在一起后,算法就会根据代码要执行的工作计算相似性分数。即使两段代码表面上不同,如果执行相同的功能,模型就会将它们评估为相似。
CASS可以配置特定的上下文,从而能够捕获描述代码的更高级别信息。而且CASS可以在不使用编译器的情况下对代码进行评级(编译器将人类可读的源代码转换为计算机可执行的机器代码),甚至可以对不完整的代码片段进行评估。
MISIM-GNN的架构如下图所示。对于这种方法,输入代码的CASS表征被转换为图。然后,将图中的每个节点嵌入一个可训练的向量,作为该节点的初始状态。接下来,使用GNN迭代更新每个节点的状态。最后,应用全局读取函数从节点的最终状态提取整个图的向量表征。
不再重复造轮子,AI 给你推荐更好的代码,还没bug
研究人员仍然在扩展MISIM的特征集,目的是创建一个代码推荐引擎,它能够识别算法背后的意图,并提供语义上相似但性能有所提高的候选代码。系统可以指示程序员使用库函数,而不用再重复造轮子。
像MISIM这样的以AI为动力的代码建议和审查工具有望大幅削减开发成本,同时使编码人员能够专注于更具创造性、减少重复性的任务。
英特尔实验室首席科学家兼机器编程研究总监Justin Gottschlich表示:“如果该系统能取得成功,我们的最终目标之一就是实现全民编程。”
或许有一天,代码相似性检测可以扩展到自然语言中,到时候要实现全民编程,就不再是难事。
不再重复造轮子,AI 给你推荐更好的代码,还没bug
不再重复造轮子,AI 给你推荐更好的代码,还没bug
代码相似检测系统的准确率比较,结果是运行3次的平均值和相对于平均值的最小/最大值。
不再重复造轮子,AI 给你推荐更好的代码,还没bug
code2vec、NCC、AROMa、MISIM在POJ-104测试集上的准确率结果。条形高度表示运行3次测量值的平均值,误差条由测量值的最小值和最大值确定。

原创文章,未经授权禁止转载。详情见 转载须知 。

不再重复造轮子,AI 给你推荐更好的代码,还没bug

全局中部横幅
重庆烟草网

重庆市烟草专卖局(公司)成立于1983年,实行“统一领导、垂直管理、专卖专营”的烟草专卖管理体制。市局(公司)主要履行对国有资产经营、管理、监督;专卖执法、打假打私;负责卷烟营销、烟叶生产经营、物流配送;负责财务、人力资源、薪酬分配管理等职能。

黑卡汽车资讯网

黑卡汽车资讯网_一个专门提供汽车相关信息的网站,它包括了汽车新闻,车型评测,购车指南,用车知识等内容.用户可以查找最新的汽车资讯,了解各种车型的特点和性能表现,以及获取购车和养车的相关建议和技巧.

铠诺教育

铠诺教育,铠诺教育,会计培训,泰兴会计培训,学历教育

重庆洗地机

重庆贝钠特清洁设备有限公司产品线涵盖:驾驶室洗地机,手推式洗地机,驾驶室扫地车,手推式扫地机,洗扫一体机,工业吸尘器,电动巡逻车,高压清洗机及各种商业清洁设备,代理品牌有:贝纳特,力奇,明诺,奥科奇,威德尔,HMC等。

北醒

北醒(北京)光子科技有限公司是国内领军的激光雷达企业,主营:车载激光雷达,智能驾驶激光雷达,三维激光雷达,激光测距模块,激光雷达传感器等,激光雷达价格欢迎来电咨询。

北京天一正认证中心有限公司

北京天一正认证中心有限公司(原北京天一正质量体系认证中心、航天环境管理体系认证中心)成立于1995年,是经国家认证认可监督管理委员会(CNCA)批准,中国合格评定国家认可委员会(CNAS)认可,美国国家标准协会-美国质量学会认证机构认可委员会(ANAB)认可(认可领域为QMS、EMS),具备中国和美国认可资格的的第三方管理体系认证机构。

上海顺益农业生产资料有限公司

上海顺益农业生产资料有限公司(顺益农资,上海顺益,顺益农业)主要生产“顺益”、“顺之道”系列化肥产品,种类齐全、服务周到。上海顺益,顺益农资,上海农资,顺益农业,顺之道,上海农业,农业生产资料

石家庄搬家公司,石家庄搬家电话,桥西搬家公司,桥西搬家电话,藁城搬家公司

石家庄搬家公司,石家庄搬家电话,桥西搬家公司,桥西搬家电话,藁城搬家公司,

【发稿猫】

「发稿猫FaGaoMao.com」平台整合全国、各省市地区的媒体编辑资源,让用户实现新闻一站式推广发布。让品牌传播更简单更高效!

Axure中文网

爱克硕儿(AxureCN)致力于分享Axure,这里有我们开放免费的Axure组件、Axure模板、图标资源、还有Axure官方中文学习文档及精心制作的教程视频。

菜鸟云新媒体管理系统

公众平台自助引擎(www.we7.cc),简称微擎,微擎是一款免费开源的微信公众平台管理系统,是国内最完善移动网站及移动互联网技术解决方案。

全局底部横幅