- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
基于深度学习的软件缺陷定位方法研究
摘要
缺陷定位是软件工程领域中至关重要的研究课题之一。传统的基于信息检索的软件
缺陷定位方法(IRBL)能在一定程度上根据缺陷报告定位到缺陷源代码文件,但是缺陷
报告由自然语言组成,源代码由编程语言组成,两者之间存在着语义鸿沟,而传统的
IRBL无法有效缓解二者之间的语义鸿沟,因此IRBL存在着准确率不高的问题。近年
来,越来越多的研究尝试利用深度学习技术,通过大量数据的学习分析来弥补IRBL的
不足。为了提升缺陷定位方法的准确率以及减少缺陷报告质量问题带来的影响,本文在
研究如何缓解词汇不匹配问题的同时,通过挖掘更多的数据特征来辅助提升缺陷定位方
法的准确率。并通过结合多角度的信息检索特征加强缺陷报告和源代码之间的关联性表
示,缓解参差不齐的缺陷报告质量对缺陷定位带来的影响。为此,本文提出基于深度学
习的软件缺陷定位方法,主要工作如下:
为了缓解缺陷报告和源代码之间的语义鸿沟以及传统的基于深度学习的缺陷定位
方法只考虑文本特征而忽略代码结构特征的问题,提出了基于双层语义特征融合的软件
缺陷定位模型(DSFFBL)。在DSFFBL中,首先提出浅层代码语义特征提取模型,通
过将原文本拆分输入到预训练模型获取句向量表示,在保留原文件数据特征的同时缓解
缺陷报告和源代码词汇不匹配的问题。其次针对抽象语法树(AST)中存在噪声节点问
题,提出一种剪枝合并抽象语法树(PMAST),PMAST在删除冗余节点减少噪声的同
时有效保留了AST的节点信息。然后提出深层代码语义特征提取模型,该模型同时提
取PMAST和控制流图(CFG)的图语义特征并融合得到深层代码语义特征,来弥补浅
层代码语义特征存在的代码结构表征不足的问题。DSFFBL通过融合浅层和深层代码语
义特征,将其输入至神经网络计算缺陷报告和源代码的相关性进行缺陷定位。
为了缓解缺陷报告质量参差不齐给缺陷定位带来的影响,本文结合多角度的信息检
索特征加强缺陷报告和源代码之间的关联性表示。首先在向量空间模型(VSM)上额外
考虑长文本和代码复杂度对关联性带来的影响,提出了一种考虑代码复杂度的改进向量
空间模型(crVSM)计算二者相似度特征得分。其次,使用crVSM提出了一种类名相似
度特征得分算法计算类名相似度特征得分。然后本文在缺陷修复时间间隔特征得分算法
上提出更细粒度的改进,进一步体现出近距离时间间隔带来的影响。在此基础上结合堆
栈帧位置和API相似度得分提出了基于多角度特征的软件缺陷定位模型(MFEBL)。
最后将浅层代码语义、深层代码语义和多角度特征三种不同模态的特征进行融合,提出
哈尔滨工程大学硕士学位论文
了一种基于多模态融合的软件缺陷定位方法(MFBL),从深度学习和信息检索两方面
互相弥补对方的语义表征能力,相较于传统的缺陷定位方法包含更充足、更丰富的特征
表示,缓解了缺陷报告质量参差不齐给缺陷定位带来的影响。
本文选择在开源数据集上对上述研究进行多组实验,经过大量实验证明本文提出的
基于深度学习的软件缺陷定位方法较其他方法具有更优的定位性能。
关键词:软件缺陷定位;缺陷报告;信息检索;深度学习
基于深度学习的软件缺陷定位方法研究
Abstract
Buglocalizationisoneofthecrucialresearchtopicsinthefieldofsoftwareengineering.
TraditionalInformationRetrievalbasedBugLocalization(IRBL)methodscanlocatebug
sourcecodefilestosomeextentbasedonbugreports.However,sincebugreportsarecomposed
ofnaturallanguagewhilesourcecodeiscomposedofprogramminglanguages,thereexistsa
semantic
文档评论(0)