| 本文已被:浏览 4990次 下载 8250次 |
 码上扫一扫! |
|
|
| 基于循环神经网络的缺陷报告分派方法 |
|
席圣渠1,2, 姚远1,2, 徐锋1,2, 吕建1,2
|
|
1.南京大学 计算机科学与技术系, 江苏 南京 210023;2.计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
|
|
| 摘要: |
| 随着开源软件项目规模的不断增大,人工为缺陷报告分派合适的开发人员(缺陷分派)变得越来越困难.而不合适的缺陷分派往往会严重影响缺陷修复的效率,为此,迫切需要一种缺陷分派辅助技术帮助项目管理者更好地完成缺陷分派任务.当前,大部分研究工作都基于缺陷报告文本以及相关元数据信息分析来刻画开发者的特征,忽略了对开发者活跃度的考虑,使得对具有相似特征的开发者进行缺陷报告分派预测时表现较差.提出一个基于循环神经网络的深度学习模型DeepTriage,一方面,利用双向循环网络加池化方法提取缺陷报告的文本特征;另一方面,利用单向循环网络提取特定时刻的开发者活跃度特征,并融合两者,利用已修复的缺陷报告进行监督学习.在Eclipse等4个不同的开源项目数据集上的实验结果表明,DeepTriage较之同类工作在缺陷分派预测准确率上有显著提升. |
| 关键词: 缺陷分派 循环神经网络 深度学习 |
| DOI:10.13328/j.cnki.jos.005532 |
| 分类号: |
| 基金项目:国家重点研发计划(2016YFB1000802);国家自然科学基金(61702252,61672274) |
|
| Bug Triaging Approach Based on Recurrent Neural Networks |
|
XI Sheng-Qu1,2, YAO Yuan1,2, XU Feng1,2, LÜ Jian1,2
|
|
1.Department of Computer Science and Technology, Nanjing University, Nanjing 210023, China;2.State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, China
|
| Abstract: |
| With the increasing size of open source software projects, assigning suitable developers for bug reports (i.e., bug triaging) is becoming more and more difficult. Moreover, the efficiency of bug repairing will likely be reduced if the bugs are assigned to inappropriate developers. Therefore, it is necessary to provide an automatic bug triaging technique for the project managers to better assign bug reports. Existing work for this task mainly focuses on analyzing the text and metadata in bug reports to characterize the relationships between developers and bug reports, while the active level of developers is largely ignored. A shortcoming of these methods is that they may lead to poor performance when developers with different active levels have similar characteristics. This paper proposes a learning model named DeepTriage based on the recurrent neural networks. On the one hand, the ordered natural language text in bug reports is mapped into high-level features by a bidirectional RNN. On the other hand, developer's active level is extracted and transformed into high-level features through a single directional RNN. Then, the features of text and developer's active level are combined and learned from bug reports with known fixers. Experimental results on four different open-source data sets (e.g., Eclipse) show that DeepTriage has significantly improved the accuracy of bug triaging compared with existing work. |
| Key words: bug triaging recurrent neural network deep learning |