首页> 中文学位 >基于学习排序的软件缺陷定位技术研究与实现
【6h】

基于学习排序的软件缺陷定位技术研究与实现

代理获取

目录

声明

第一章 绪论

1.1 研究背景及意义

1.2 国内外研究现状

1.3 本文主要创新

1.4 论文组织结构

第二章 相关背景知识介绍

2.1信息检索

2.2自然语言处理

2.3 机器学习

2.4本章小结

第三章 基于信息检索和学习排序的方案设计

3.1数据集

3.2预处理

3.3 VSM模型

3.4 BM25模型

3.5信息加强

3.6结果推荐

3.7 本章小结

第四章 缺陷定位验证及其系统实现

4.1系统开发环境及工具

4.2系统整体结构

4.3详细设计

4.4实验结果

4.5系统实现

4.6本章小结

第五章 总结与展望

参考文献

附录1 攻读硕士学位期间申请的专利

致谢

展开▼

摘要

软件缺陷bug的发现和修复是软件工程的核心任务之一。为提高管理质量,软件缺陷跟踪系统得到了广泛应用,通过缺陷报告、分派任务和缺陷定位等流程进行bug修复,但人工完成这些工作需要大量的人力和时间。纵观软件缺陷定位问题的研究现状,准确率方面尚有不少提升空间,并且测试数据集主要集中在Java项目。本文的研究聚焦于应用信息检索和学习排序技术实现软件缺陷定位自动化。
  本文所提出方案首先采用自然语言处理技术进行文本预处理,并基于信息检索模型进行相似度计算,最终采用机器学习方法进行结果推荐。对于测试数据集,本文构建了Apache Spark项目的数据集,以1.6.0和1.6.1版本bug报告作为查询集,1.5.2版本源代码作为文档集,并经过人工核对得到报告-文件的对应关系以用于实验结果的检验;相似度指标方面,不同于传统的单纯计算文本相似度的方法,本文提出从文本、标识符和组件三个维度衡量相似度,最终结合三者综合判定bug报告与文件的相关程度;结果推荐方面,不同于传统的线性加权方案,本文提出应用排序支持向量机算法Ranking SVM将三个维度得分综合排序,通过机器学习中的学习排序技术得到文件相关度排名。
  本文应用以上方案实现了一个软件缺陷定位原型系统RSLocator(Ranking SVM Locator),并在Spark测试数据集上进行了实验验证。新构建的Spark数据集包含多种程序语言,可以对现有的常用数据集起到有益补充。本文选取准确率、召回率和平均倒数排名等多个指标将方案与经典的VSM模型和BM25模型进行对比。结果表明,结合文本、标识符和组件三个维度方案的结果比仅计算文本相似度的经典算法有较为明显的提高,结果推荐方面,使用Ranking SVM算法相比传统的线性加权方案也有更好表现。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号