当前位置:首页 > 奇闻趣事

13921专题之深度学习C语言修改器DeepFix:用人工智能加「;」

从Aaai.org选择

机器的心脏编译了

参与:误判

如果你是程序员,你可能经历过编译时报告bug的痛苦。有时候,要想犯一个小错误,需要很多时间来确认很多代码。(大卫亚设,Northern Exposure)。

近日,印度科学研究所的几位研究者的一篇 AAAI-17 论文提出了一种用深度学习检测 C 语言代码中常见编程错误的方法 DeepFix,而且其不仅可以检测,还可以帮助修复。机器之心对该研究论文进行了摘要介绍。

论文原文请访问:

自动修复编程错误的问题是软件工程领域一个非常活跃的研究主题。这个问题难度很大,因为修复单个错误也许就需要分析整个程序。在实际操作中,许多错误都是因为程序员对编程语言不熟练或没有注意细节所导致的。我们将这些错误称为常见编程错误(common programming errors)。它们类似于自然语言中的语法错误。编译器可以检测这样的错误,但它们得到的错误信息往往是不准确的。在这项成果中,我们提出了一种端到端的解决方案 DeepFix,其可以无需依赖任何外部工具来定位或修复,就可以修复一个程序中多个这样的错误。DeepFix 的核心是一个多层的序列到序列神经网络,带有注意(attention),其被训练用于预测错误的程序位置以及所需的正确写法。在一个由学生为 93 个编程任务编写的 6971 个错误 C 语言程序的集合中,DeepFix 可以完整修复其中 1881(27%)个,并且可以部分修复其中 1338(19%)个。

图 1:DeepFix 方法的示意图

图 2:DeepFix 的迭代式修复策略

表 1:数据集和结果汇总

我们提出的修复策略有几个优点:

  • 程序被完全呈现给该网络。识别和修复编程错误通常需要能够推断长期依赖(long term dependencies)的全局分析。该网络架构能够有选择地关注程序的任何部分,从而可以推理结构和语法约束来预测错误的位置和所需的修复。

  • 在输入和输出中包含行号,从而减小了粒度,并因此减小了预测任务的复杂度。

  • DeepFix 可以迭代式修复一个程序中的多个错误。

  • oracle 被用于跟踪进展以及防止出现没有帮助或任意的改变。

  • DeepFix 的修复策略是相当通用的。比如说,如果我们试图修复逻辑错误,我们可以使用一个带有测试套件(比如 oracle)的测试引擎。如果一个修复导致该程序能通过更多测试,那么该修复就会被接受。

图 3:在原始数据集上,错误程序中任务的减少

表 2:错误类型和对应原因的总结

图 4:排名前 4 的错误信息,以及在原始数据集上修复前后的错误信息的数量

图 5:在原始数据集上每次迭代之后的错误信息的数量

图 6:正确(圆圈)和不正确(三角形)程序的向量表示的 PCA 投影

表 3:种子数据集的固定长度和固定准确度 。

1.《13921专题之深度学习C语言修改器DeepFix:用人工智能加「;」》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《13921专题之深度学习C语言修改器DeepFix:用人工智能加「;」》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/2051358.html

上一篇

【17kjs】专题行政招聘我知道01 | 全国各大企业行政招聘

下一篇

汉语、藏语、缅甸语三语同源,上古汉藏缅三个民族是一家的吗?

13921,干货看这篇!实事丨宝清县的一笔民生账

13921,干货看这篇!实事丨宝清县的一笔民生账

13921相关介绍,宝清县街景。 “以后出门可更方便了,看着这宽敞的水泥路,瞧着家门口的路灯,看着文化广场的健身器材,心里就是舒坦。” 每每看到家乡的变化,家住黑龙江省宝清县民主村的农民张顺难掩喜悦之情。 农村旧貌换新颜...

【13921】炉石传说卡拉赞新乱斗:麦迪文的舞会

【13921】炉石传说卡拉赞新乱斗:麦迪文的舞会

13921相关介绍,在炉石传说6.0.13921的新补丁中,我们发现了一只新的乱斗模特也是——麦迪文的舞会、卡拉赞的新人物和一只拥有洪荒力量的羊! 麦迪文的舞会 喀喇山...

关于13921我想说银行不良资产证券化寻路|《财经》独家

关于13921我想说银行不良资产证券化寻路|《财经》独家

13921相关介绍,不良资产证券化并不是石头可以指出的,本身不能改变不良资产的素质,对不良资产支持证券投资的潜在风险仍然很大。 欧阳辉 孟茹静/文 7月7日,银监会国有重点金融机构监事会主席于学军在“2016中国银行业发...

13921看这里!“僵尸企业”出清迫在眉睫

13921看这里!“僵尸企业”出清迫在眉睫

13921相关介绍,希望供给侧改革能促进“僵尸企业”的清出,将空荡荡的有限资源部署到更需要的地方,最大限度地提高资源利用效率。 《财经》记者张伟/文 供给侧改革促进“僵尸企业”的清出,通过将空荡荡的有限资源部署到更需要的...

13921专题之这个帮中小企业融资的利器,曾引爆了金融火药桶 | 同读一本书

13921专题之这个帮中小企业融资的利器,曾引爆了金融火药桶 | 同读一本书

13921相关介绍,资产证券化有助于美国金融业的快速发展。这是天使的一面,但过于复杂的资产证券化产品最终导致了金融危机。从这个角度来看,它又是一个恶魔。(圣雄甘地,资产证券化,资产证券化,资产证券化,资产证券化,资产证券...

13921看这里!亮点纷呈!红色引领市场监管治理能力现代化再上新台阶

13921看这里!亮点纷呈!红色引领市场监管治理能力现代化再上新台阶

13921相关介绍,资料来源:嘉兴日报-嘉兴在线 市长/市场导演与千家万户相连,一个与数十万个市长/市场主体相连。 聚焦高质量发展、高品质生活,今年以来,市场监管围绕“学党史、悟思想、办实事、开新局”,在树立“小个专”党...

13921看这里!天津新增3例境外输入性新冠肺炎确诊病例

13921看这里!天津新增3例境外输入性新冠肺炎确诊病例

13921相关介绍,资料来源:健康的天津 2021年7月19日0-24时天津市没有增加本土新冠确诊病例。 新增3例境外输入性新冠肺炎确诊病例。无新增无症状感染者。 截至7月19日24时,天津市累计报告新型冠状病毒肺炎确诊...

【13921】佛山、肇庆、云浮,三市如果合并,你会赞成吗?

  • 【13921】佛山、肇庆、云浮,三市如果合并,你会赞成吗?
  • 【13921】佛山、肇庆、云浮,三市如果合并,你会赞成吗?
  • 【13921】佛山、肇庆、云浮,三市如果合并,你会赞成吗?