缺陷修复人推荐是近几年软工领域的主要研究方向之一。它的出现为了解决给新提交的BUG确定合适的修复人所造成的时间开销,提高BUG triaging的准度。
当前大型的开源软件都是用Bugzilla, Jira, GNATS, trac等BUG repository来跟踪管理项目的BUG。对于每一个提交的BUG来说,我们需要把他分给一个合适的开发人员来修复。分配的好坏对于软件质量的保证来说至关重要。如果把Bug分配给一个不合适的人,则会影响到BUG的修复进度,从而无法保证代码能够得到及时的维护。而对于像Eclipse,Mozilla这样的大型项目来说,每天提交的待分配的新BUG可达到数百条之多。早期Eclipse项目只安排一个开发人员负责BUG的分配,但后来随着项目规模的不断增大,BUG检测和分配改由各个模块的开发团队自己负责。不管怎样,使用人工的手段进行BUG分配在项目规模日渐庞大,BUG数量快速增加的情况下显然是不合适,这会占用大量的人力和时间资源,增加额外的成本。因此,我们希望能够有一些自动化的方法能够帮助解决或者减轻Bug triaging的负担。
这一问题早期是由University of British Columbia的John Anvik, Cail C.Murphy等人在2005年提出的,他们的研究成果在06年的ICES上发表,感兴趣的可以阅读一下他们的论文《