Effective Bug Triage based on Historical Bug-Fix Information

被引:73
作者
Hu, Hao [1 ]
Zhang, Hongyu [2 ]
Xuan, Jifeng [3 ]
Sun, Weigang [4 ]
机构
[1] Tsinghua Univ, Beijing, Peoples R China
[2] Microsoft Res, Beijing, Peoples R China
[3] INRIA Lille Nord Europe, Lille, France
[4] Inspur Worldwide Serv Ltd, Beijing, Peoples R China
来源
2014 IEEE 25TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE) | 2014年
基金
中国国家自然科学基金;
关键词
bug report assignment; bug triage; developer recommendation; bug repository;
D O I
10.1109/ISSRE.2014.17
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
For complex and popular software, project teams could receive a large number of bug reports. It is often tedious and costly to manually assign these bug reports to developers who have the expertise to fix the bugs. Many bug triage techniques have been proposed to automate this process. In this paper, we describe our study on applying conventional bug triage techniques to projects of different sizes. We find that the effectiveness of a bug triage technique largely depends on the size of a project team (measured in terms of the number of developers). The conventional bug triage methods become less effective when the number of developers increases. To further improve the effectiveness of bug triage for large projects, we propose a novel recommendation method called BugFixer, which recommends developers for a new bug report based on historical bug-fix information. BugFixer constructs a Developer-Component-Bug (DCB) network, which models the relationship between developers and source code components, as well as the relationship between the components and their associated bugs. A DCB network captures the knowledge of "who fixed what, where". For a new bug report, BugFixer uses a DCB network to recommend to triager a list of suitable developers who could fix this bug. We evaluate BugFixer on three large-scale open source projects and two smaller industrial projects. The experimental results show that the proposed method outperforms the existing methods for large projects and achieves comparable performance for small projects.
引用
收藏
页码:122 / 132
页数:11
相关论文
共 34 条
  • [1] Anne M., 2009, Succeeding with Agile: Software development Using Scrum
  • [2] [Anonymous], 2008, 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE)
  • [3] Anvik J., 2007, P MSR 07 MAY
  • [4] Anvik J., 2006, P 28 INT C SOFTW ENG, P361, DOI [DOI 10.1145/1134285.1134336, 10.1145/1134285.1134336]
  • [5] Reducing the Effort of Bug Report Triage: Recommenders for Development-Oriented Decisions
    Anvik, John
    Murphy, Gail C.
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2011, 20 (03)
  • [6] Bachmann A, 2009, IWPSE-EVOL 09: ERCIM WORKSHOP ON SOFTWARE EVOLUTION (EVOL) AND INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION (IWPSE), P119
  • [7] Bhattacharya P., 2010, P 2010 IEEE INT C SO, P1, DOI DOI 10.1109/ICSM.2010.5609736
  • [8] Fritz T, 2010, P 32 ACM IEEE INT C, P385, DOI DOI 10.1145/1806799.1806856
  • [9] Guo PJ, 2011, P ACM 2011 C COMP SU, P395, DOI [10.1145/1958824.1958887, 10.1145/1958824.1958887., DOI 10.1145/1958824.1958887]
  • [10] Hooimeijer Pieter, 2007, P 22 IEEE ACM INT C, P34, DOI DOI 10.1145/1321631.1321639