专利名称:一种基于多特征缺陷再分配图分配缺陷报告的方法
技术领域:
本发明涉及一种缺陷分配的方法,主要利用缺陷报告的分配历史创建缺陷再分配图,结合缺陷再分配图实现缺陷报告的分配,属于数据挖掘和机器学习领域。
背景技术:
缺陷是软件中的错误,表示给定需求的软件开发过程中的一些意外行为[I]。及时的识别和纠正软件缺陷对软件工程实践来说至关重要,为了处理大量的缺陷报告,软件追踪系统如Bugzilla已被广泛使用,而大部分缺陷报告都是手动地分配开发人员,这种分配方式既耗时又浪费人力;Mozilla和Eclipse工程每天会接收几百个缺陷报告,再从几千个开发人员中选择一个开发人员来修复这个报告;为缺陷报告分配好开发人员后,开发人员还会将缺陷报告分配给其他的开发人员,即缺陷报告再分配;软件工程中几乎有一半的缺陷报告会出现再分配,缺陷报告再分配会增加缺陷修复过程的耗时,及时准确地为缺陷报告找到开发人员,可以提高缺陷修复的效率[2]。Syed Nadeem Ahsan提出基于潜在语义索引和支持向量机的自动缺陷分配系统,选取部分已经修复的缺陷报告作为数据集,获取缺陷报告的词条文档矩阵和修复缺陷报告的开发者信息,用处理好的数据集训练机器学习模型,该方法虽能自动为缺陷分配开发人员,但分配的准确率很低[3] ;Gaeul Jeong提出了基于缺陷再分配图的缺陷分配,该方法利用已经修复的缺陷报告训练机器学习模型和创建缺陷再分配图,用缺陷再分配图更新缺陷修复人员,该方法较好地提高了缺陷分配的准确率,但搜索失败率还是较高。Pamela Bhattacharya提出使用基于细粒度的逐渐积累学习和多特征的缺陷再分配图提高缺陷再分配[4],该方法是选取一部分已经修复的缺陷报告,建立一个缺陷再分配图,并将开发人员修复的缺陷所属的产品和部件,以及开发人员最后修复的时间加入缺陷再分配图,在训练机器学习模型时,用测试集中的每个缺陷报告更新训练集和缺陷再分配图,该方法能有效地提高缺陷分配的预测精度,但该方法很耗时;[l]Naresh Kumar Nagwani and Dr.Shrish Verma. Predictive Data MiningModel for Software Bug Estimation Using Average Weighted Similarity. AdvanceComputing Conference (IACC),2010IEEE 2nd International, page (s) :373-378.[2]G. Jeong, S. Kim, and T. Zimmermann,“Improving bug triage with bugtossing graphs,,,in Proceedings of the 7 th joint meeting of the Europeansoftware engineering conference and the ACM SIGS0FT symposium on Thefoundations of software engineering on European software engineering conferenceand foundations of software engineering symposium. ACM, 2009, pp.111-120.[3]Syed Nadeem AhsaniJaved Ferzund and Franz Wotawa. “Automatic SoftwareBug Triage System(BTS)Based on Latent Semantic Indexing and Support VectorMachine”. 2009Fourth International Conference on Software Engineering Advances.IEEE. 2009.
[4]P. Bhattacharya and I. Neamtiu,“Fine-grained incremental learning andmulti-feature tossing graphs to improve bug triaging,^Proc. IEEE Intl. Conf.Software Maintenance(ICSM 10), IEEE, Sept. 2010,pp.1-10.
发明内容
技术问题本发明的目的是提供ー种基于多特征缺陷再分配图分配缺陷报告的方法。以往预测方法主要通过机器学习模型来预测缺陷修复人员,该方法预测精度低,不能有效处理缺陷再分配问题以及減少再分配路径长度。本发明提出的基于多特征的缺陷再分配图预测缺陷修复人员方法,结合缺陷再分配图,找到缺陷修复人员之间的关系,再综合考虑缺陷修复者已修复缺陷所属的产品和部件,及缺陷修复者最后參与缺陷修复的时间,预测缺陷修复人员。 技术方案本发明的ー种基于多特征缺陷再分配图分配缺陷报告的方法主要分为以下步骤一 .训练阶段获取数据集中标记为已修复的缺陷报告,训练机器学习模型和建立缺陷再分配图;步骤I)读入取缺陷报告,选取标记为已修复的缺陷报告;步骤2)将步骤I)得到的缺陷报告按时间排序,平均分成十份,九份用于训练机器学习模型,ー份用于测试集;步骤3)逐一读取训练集中的缺陷报告,获取修复缺陷报告的开发人员之间的再分配路径关系,即A — B — C — D ;其中A表示修复缺陷报告的第一个开发人员,A不能修复该缺陷报告,则将缺陷报告再分配给开发人员B,B也不能修复,将缺陷报告再分配给开发人员C,C再分配给开发人员D,缺陷报告最终由开发人员D修复;步骤4)将由步骤3)得到的再分配关系转化面向目标的路径图,即A — D,B —D,C —D,用公式(I)计算各个开发人员之间的状态转移概率,绘制缺陷再分配权利要求
1.一种基于多特征缺陷再分配图分配缺陷报告的方法,其特征在于该方法主要分为以下步骤一.训练阶段获取数据集中标记为已修复的缺陷报告,训练机器学习模型和建立缺陷再分配图;步骤I)读入取缺陷报告,选取标记为已修复的缺陷报告;步骤2)将步骤I)得到的缺陷报告按时间排序,平均分成十份,九份用于训练机器学习模型,一份用于测试集;步骤3)逐一读取训练集中的缺陷报告,获取修复缺陷报告的开发人员之间的再分配路径关系,即A — B — C — D ;其中A表示修复缺陷报告的第一个开发人员,A不能修复该缺陷报告,则将缺陷报告再分配给开发人员B,B也不能修复,将缺陷报告再分配给开发人员 C,C再分配给开发人员D,缺陷报告最终由开发人员D修复;步骤4)将由步骤3)得到的再分配关系转化面向目标的路径图,即A —D,B —D,C —D, 用公式(I)计算各个开发人员之间的状态转移概率,绘制缺陷再分配全文摘要
基于多特征缺陷再分配图分配缺陷报告的方法综合运用机器学习模型和缺陷再分配图预测缺陷修复人员,用已修复的缺陷报告中开发人员之间的再分配关系,将再分配关系转化为缺陷再分配图,使用机器学习模型预测完缺陷报告开发人员后,结合缺陷再分配图更新缺陷报告开发人员,完成缺陷报告修复人员的预测;具体方法为以下步骤步骤1)对选取的缺陷报告数据集进行分类,分为训练集和测试集;步骤2)用训练集来训练机器学习模型和创建缺陷再分配图;步骤3)用机器学习模型预测测试集的缺陷修复人员;步骤4)结合缺陷再分配图更新缺陷修复人员;通过使用本发明的方法,能有效地减少缺陷再分配的路径长度,提高缺陷分配的预测精度,降低缺陷修复人员搜索的失败率。
文档编号G06F11/36GK102629230SQ20121005782
公开日2012年8月8日 申请日期2012年3月7日 优先权日2012年3月7日
发明者周国富, 周国强, 张卫丰, 张迎周, 张静, 王慕妮, 许碧欢, 陆柳敏, 顾赛赛 申请人:南京邮电大学