基于信息检索的方法级别软件缺陷定位研究
发布时间:2023-08-16 16:48
软件质量管理是信息系统领域一个重要的研究内容。当软件的质量存在问题时,将会带来很严重地影响。由于软件生产具备知识密集和人力密集的特点,这将不可避免的会产生软件缺陷。当软件缺陷报告在缺陷跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位并做出相应的代码变更以修复该软件缺陷。在缺陷修复的整个过程之中,软件缺陷定位占用了开发人员大量的时间。本文提出了两种基于信息检索的方法级别软件缺陷定位方法以提高软件修复人员的工作效率,分别称之为 MethodLocator 及 FineLocator。MethodLocator首先对缺陷报告和源代码方法体通过利用词向量(word2vec)和TF-IDF结合的方法进行向量表示,然后根据源代码文件中方法体之间的相似度,对方法体进行扩充,最后对扩充后的方法体和缺陷报告计算其余弦距离并排序,来定位为修复软件缺陷所需做出变更的方法。在四个开源软件项目ArgoUML,Ant,Maven和Kylin上的实验结果表明,MethodLocator方法优于现有的缺陷定位方法,它能够在方法级别上有效地将软件缺陷定位到源代码。在Fi...
【文章页数】:75 页
【学位级别】:硕士
【文章目录】:
学位论文数据集
摘要
ABSTRACT
第一章 绪论
1.1 研究背景及意义
1.2 研究内容及目标
1.3 论文组织结构
第二章 相关研究
2.1 软件质量管理研究
2.2 软件缺陷定位方法研究
2.2.1 基于文件级别的软件缺陷定位方法研究
2.2.2 基于方法级别的软件缺陷定位方法研究
2.3 查询扩展
2.4 评价指标
2.5 本章小结
第三章 MethodLocator:一种方法级别的软件缺陷定位方法
3.1 问题描述
3.2 MethodLocator方法实现
3.2.1 MethodLocator总体框架
3.2.2 方法体向量表示及方法体扩充
3.2.3 缺陷报告与方法体相似度计算及排序
3.3 实验评价
3.3.1 实验数据
3.3.2 实验过程
3.3.3 实验结果及分析
3.4 本章小结
第四章 FineLocator:通过查询扩展实现方法级缺陷定位
4.1 概念定义及问题描述
4.2 FineLocator方法实现
4.2.1 FineLocator总体框架
4.2.2 语义相似度
4.2.3 时间接近度
4.2.4 调用依赖度
4.2.5 利用查询扩展对方法体进行扩充
4.2.6 缺陷报告与方法体相似度计算及排序
4.3 实验评价
4.3.1 实验数据
4.3.2 实验过程
4.3.3 实验结果及分析
4.4 本章小结
第五章 结论与展望
5.1 讨论
5.2 结论
5.3 展望
参考文献
研究成果及发表的学术论文
致谢
作者和导师介绍
附件
本文编号:3842300
【文章页数】:75 页
【学位级别】:硕士
【文章目录】:
学位论文数据集
摘要
ABSTRACT
第一章 绪论
1.1 研究背景及意义
1.2 研究内容及目标
1.3 论文组织结构
第二章 相关研究
2.1 软件质量管理研究
2.2 软件缺陷定位方法研究
2.2.1 基于文件级别的软件缺陷定位方法研究
2.2.2 基于方法级别的软件缺陷定位方法研究
2.3 查询扩展
2.4 评价指标
2.5 本章小结
第三章 MethodLocator:一种方法级别的软件缺陷定位方法
3.1 问题描述
3.2 MethodLocator方法实现
3.2.1 MethodLocator总体框架
3.2.2 方法体向量表示及方法体扩充
3.2.3 缺陷报告与方法体相似度计算及排序
3.3 实验评价
3.3.1 实验数据
3.3.2 实验过程
3.3.3 实验结果及分析
3.4 本章小结
第四章 FineLocator:通过查询扩展实现方法级缺陷定位
4.1 概念定义及问题描述
4.2 FineLocator方法实现
4.2.1 FineLocator总体框架
4.2.2 语义相似度
4.2.3 时间接近度
4.2.4 调用依赖度
4.2.5 利用查询扩展对方法体进行扩充
4.2.6 缺陷报告与方法体相似度计算及排序
4.3 实验评价
4.3.1 实验数据
4.3.2 实验过程
4.3.3 实验结果及分析
4.4 本章小结
第五章 结论与展望
5.1 讨论
5.2 结论
5.3 展望
参考文献
研究成果及发表的学术论文
致谢
作者和导师介绍
附件
本文编号:3842300
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3842300.html