2 个月前

通过神经-符号编辑语法修复Transformer中的错误

Hu, Yaojie ; Shi, Xingjian ; Zhou, Qiang ; Pike, Lee
通过神经-符号编辑语法修复Transformer中的错误
摘要

我们介绍了一种新的基于Transformer的代码修复方法——NSEdit(神经-符号编辑)。仅给定包含错误的源代码,NSEdit能够预测出可以修复这些错误的编辑序列。编辑语法被形式化为一种正则语言,Transformer利用其作为神经-符号脚本接口来生成编辑程序。我们对Transformer进行了修改,增加了一个指针网络以选择编辑位置。训练了一个重排序器集合来重新排列通过束搜索生成的编辑序列。我们在验证集上对重排序器进行微调,以减少过拟合现象。NSEdit在多个代码修复数据集上进行了评估,并在CodeXGLUE基准测试中的Tufano小数据集上达到了新的最先进准确率(24.04%)。当程序从一个包变化到另一个包以及当有错误的程序具体化时,NSEdit表现出较强的鲁棒性。我们对所提出的方法进行了详细分析,并展示了每个组件的有效性。

通过神经-符号编辑语法修复Transformer中的错误 | 最新论文 | HyperAI超神经