文档名:基于自注意力机制神经机器翻译的软件缺陷自动修复方法
摘要:循环神经网络对于代码序列数据有着良好的处理能力,软件缺陷修复的补丁生成模型大多采用循环神经网络实现.然而,基于循环神经网络的补丁生成模型在处理代码序列中长距离依赖问题时仍然具有局限性,其修复成功率和修复效率较低.针对此问题,提出一种基于自注意力神经机器翻译的软件缺陷自动修复方法(Self-attentionNeuralmachinetranslationbasedautomaticsoftwareRepair,SNRepair).首先,为有效缓解源码中的未登录词问题,对数据集引入子词切分技术进行预处理;其次,为解决源代码中棘手的长距离依赖问题并更充分地利用局部信息,构建融合局部建模的Transformer程序补丁生成模型;然后,采用缺陷自动定位技术定位缺陷语句位置,利用参数优化后的Transformer补丁生成模型生成候选补丁;最后,运行测试用例验证候选补丁.在具有395个真实Java软件缺陷的De-fects4J缺陷库上实验评估,结果表明SNRepair方法与对比方法比较,修复成功率和修复效率更高.
Abstract:Recurrentneuralnetworkhasgoodabilityoftheprocessingforcodesequences,andthepatchgenerationmodelismostlyimplementedbyit.However,recurrentneuralnetwork-basedpatchgenerationmodelsstillhavesomelimi-tationswhendealingwithlong-distancedependenciesincodesequences,andtheirrepairsuccessrateandrepairefficiencyislow.Toaddresstheissue,wepresentSNRepair,anautomaticsoftwarefaultrepairbasedonself-attentionneuralmachinetranslation.First,thesubwordtokenizationtechnologyisintroducedtopreprocessthedatasettoalleviatetheproblemofoutofvocabulary.Second,aTransformerprogrampatchgenerationmodelthatintegrateslocalmodelingisconstructedtoalle-viatethelong-distancedependenciesinthesourcecodeandmakebetteruseoflocalinformation.Third,theautomaticfaultlocalizationtechnologyisusedtolocatethepossiblefaultpositionandtheTransformerpatchgenerationmodelthroughpa-rameteroptimizationisadoptedtogeneratecandidatepatches.Finally,thecandidatepatchesareverifiedbytestcases.Onthe395realJavasoftwarefaultsintheDefects4J,theresultsshowthattheSNRepairhashigherrepairsuccessrateandre-pairefficiencythanthecomparedones.
作者:曹鹤玲 刘昱 韩栋 Author:CAOHe-ling LIUYu HANDong
作者单位:粮食信息处理与控制教育部重点实验室(河南工业大学),河南郑州450001;河南工业大学信息科学与工程学院,河南郑州450001;河南工业大学河南省粮食信息处理国际联合实验室,河南郑州450001粮食信息处理与控制教育部重点实验室(河南工业大学),河南郑州450001;河南工业大学信息科学与工程学院,河南郑州450001
刊名:电子学报 ISTICEIPKU
Journal:ActaElectronicaSinica
年,卷(期):2024, 52(3)
分类号:TP311
关键词:软件缺陷自动修复 神经机器翻译 自注意力机制 子词切分 局部建模
Keywords:automaticsoftwarerepair neuralmachinetranslation self-attentionmechanism subwordtokenization localnessmodeling
机标分类号:TP391TP183TN912.34
在线出版日期:2024年5月16日
基金项目:基于自注意力机制神经机器翻译的软件缺陷自动修复方法[
期刊论文] 电子学报--2024, 52(3)曹鹤玲 刘昱 韩栋循环神经网络对于代码序列数据有着良好的处理能力,软件缺陷修复的补丁生成模型大多采用循环神经网络实现.然而,基于循环神经网络的补丁生成模型在处理代码序列中长距离依赖问题时仍然具有局限性,其修复成功率和修复效率...参考文献和引证文献
参考文献
引证文献
本文读者也读过
相似文献
相关博文
基于自注意力机制神经机器翻译的软件缺陷自动修复方法 Self-Attention Neural Machine Translation for Automatic Software Repair
基于自注意力机制神经机器翻译的软件缺陷自动修复方法.pdf
- 文件大小:
- 1.99 MB
- 下载次数:
- 60
-
高速下载
|
|