当前位置:主页 > 科技论文 > 软件论文 >

基于开发者社交网络和排序学习的缺陷报告分派及定位

发布时间:2021-11-27 16:34
  如今大型开源软件项目如Tomcat、Eclipse和AspectJ等都配置了功能强大的缺陷跟踪系统,该系统能够使世界各地的开发人员共同协作来修复某一软件缺陷,然而缺陷跟踪系统在实际运行过程中每天都会接收到大量的缺陷报告,倘若完全采用人工的方式,将缺陷报告分派给某个开发者,然后该开发者手动查找相应的源代码文件进行缺陷修复,这一流程将会耗费大量的人力和时间。因此,如何能让缺陷报告实现自动分派以及自动定位到缺陷文件是一项非常具有意义且充满挑战的任务,这对于改善大型开源软件项目的维护流程至关重要。目前,相关研究人员根据缺陷报告和源文件的特点提出了很多不同的缺陷分派以及缺陷定位方法,但是这些方法并没有考虑到不同开发者之间的协作关系、个人的能力水平和业界影响力,并且忽略了缺陷报告本身的深层语义信息。针对以上问题,本文提出了一种基于开发者社交网络的缺陷报告分派方法和基于排序学习的缺陷定位方法,主要工作如下:首先,提取缺陷跟踪系统的原始数据信息,借助该信息,根据开发者对同一缺陷的评论关系建立一个关于开发者的社交网络,并通过一定的算法将网络中具有相同修复经验的开发人员划分到一个社区,然后,根据开发者的历... 

【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校

【文章页数】:74 页

【学位级别】:硕士

【部分图文】:

基于开发者社交网络和排序学习的缺陷报告分派及定位


Eclipse的一个缺陷报告

课题,源代码


哈尔滨工业大学工学硕士学位论文合层形成了统一特征表示并输出到全连接层。而且,基于给定缺陷报告仅与少量源代码文件有关的不平衡特性,作者提出了一个不平等错误分类(unequalmisclassfication)的代价函数作为随机梯度下降的目标函数。该模型预测结果显示,基于 CNN 的方法要优于绝大部分基于信息检索的缺陷定位模型如 BugLocator 和BLUiR。Huo 等人[28]之后又对该模型进行改进,提出了 LS-CNN(Long Short-termmemory based on Convolutional Neural Network)模型,该模型引入的 LSTM 进一步挖掘了源代码执行的顺序特性并解决了源代码声明(statements)之间的长期依赖(long-term dependency)问题,虽然论文模型的改动仅仅是将第二层的卷积池化层改为了标准的 LSTM 和池化层,但其预测效果却要好于 NP-CNN 模型。1.3 论文的主要研究内容及章节安排本课题分为两个部分,首先,将缺陷报告自动分派给擅长该领域的开发者修复,其次,根据所接收到的缺陷报告自动定位到相应的缺陷代码文件。课题的总体流程如图 1-2 所示。

缺陷,示例,缺陷修复


图 2-1 缺陷报告示例表 2-1 缺陷报告分派数据集格式字段 含义BugID 缺陷报告编号Summary 缺陷摘要(缺陷描述的汇总信息)Description 缺陷描述Report Time 缺陷报告时间Reporter 缺陷问题的报告人Product 缺陷所属产品Status 缺陷解决状态Comment 缺陷评论者Assigned To 缺陷修复者Fix Time 缺陷修复时间Fix Commit 缺陷报告版本提交号(唯一标识)


本文编号:3522666

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3522666.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户7ccf5***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com