一种缺陷修复者自动推荐方法技术

技术编号:20272227 阅读:66 留言:0更新日期:2019-02-02 03:33
本发明专利技术提出了一种缺陷修复者自动推荐方法,首先当一个新报告提交到系统后,该方法将搜索相似的报告;然后从相似的报告中提取相关特征,比如候选的缺陷修复者。最后综合上述的因素进行推荐。实验证明本发明专利技术所述方法不仅提高了修复的可能性,避免了过多的重复推荐,而且减少了修复时间。

【技术实现步骤摘要】
一种缺陷修复者自动推荐方法
本专利技术属于软件工程
,特别是涉及一种缺陷修复者自动推荐方法。
技术介绍
随着软件系统复杂性和规模的增加,软件缺陷的发生也越来越频繁,甚至造成巨大的经济损失,修复缺陷成为一项刻不容缓的工作。像Bugzilla一类的缺陷追踪系统使用大量的开发者人工对缺陷进行统一排查,并以缺陷报告的形式反馈给需要缺陷信息的开发者。所以他们面临着一些问题。重复推荐是其中之一,由于软件系统每天产生的缺陷及形成的缺陷报告数量庞大,内容相似的报告、相似的缺陷极易推荐给不同的开发者,造成重复推荐,从而导致修复上的困难和时间的浪费。
技术实现思路
本专利技术目的是为了解决现有技术中存在的问题,提出了一种缺陷修复者自动推荐方法。本专利技术所述方法不仅提高了修复的可能性,避免了过多的重复推荐,而且减少了修复时间。本专利技术的目的通过以下技术方案实现:一种缺陷修复者自动推荐方法,包括以下步骤:步骤一、将新生成的缺陷报告加入到数据库;步骤二、使用自然语言处理技术对缺陷报告进行预处理,并利用余弦定理计算该缺陷报告与其他缺陷报告的相似度;步骤三、使用支持向量机SVM将新生成的缺陷报告归类到与他相似度最高的一类中;步骤四、提取相关特征;步骤五、执行修复者推荐算法,得到最终的修复者推荐名单。进一步地,所述利用余弦定理计算该缺陷报告与其他缺陷报告的相似度,具体为:使用余弦相似度计算两个缺陷报告之间的相似度,公式如下:其中,Vi和Vj表示不同缺陷报告的向量,Wki指缺陷报告di中第k个词的权重,Wkj指缺陷报告dj中第k个词的权重,n代表词集的大小;两个权重的值通过TF-IDF来计算,公式如下:其中,tfki是缺陷报告di中第k个词的频率,N是总的缺陷报告数,nk代表第k个词至少出现一次的缺陷报告数;仅提取缺陷报告的标题和描述,分别独立计算两个缺陷报告标题之间和描述之间的文本相似值,根据以下公式得到两个缺陷报告之间的相似度(SBBR):SBBR(bi,bj)=α×tsij+(1-α)×dsij其中,tsij是指缺陷报告bi和bj标题之间的文本相似值,dsij是指缺陷报告bi和bj描述之间的文本相似值,α指标题在缺陷报告中所占的相对权重。进一步地,所述步骤三具体为:使用K-means聚类算法,将已有的缺陷报告聚类得到相似报告集,所述K-means聚类算法描述为:1)在空间中任意放置K个缺陷报告作为参考数据点,并保证他们足够分散,所述参考数据点将作为初始的簇的形心;2)将每一个缺陷报告分配到形心离他最近的那个簇中;3)当所有的缺陷报告都被分配后重新计算各个簇的形心位置;4)重复步骤2)和3)直至形心不再移动为止;在聚类算法中将两个缺陷报告之间的相似程度定义为所述两个缺陷报告与形心之间的距离;所述聚类算法将会一直进行迭代过程直到误差测度E达到最小,此时称形心不再移动;E的公式如下:其中,K为簇的数目,N为参与聚类的缺陷报告的总数,Xn是第n个缺陷报告的向量,μj指第j个簇的形心;将训练集中的所有缺陷报告都分到每一个相似报告集{B1,B2,...,Bn}中,报告集中的每一个报告均相似;当一个新的缺陷报告到来时,计算所述新的缺陷报告和相似报告集中每一个报告的相似度,找到最大的相似度MAXSBBR时就将其视为新的缺陷报告与相似报告集之间的相似度,然后使用SVM辨别新的缺陷报告是否属于某一个集;SVMPredict就是SVM辨别模型的表达,SVMPredict将会求出新的缺陷报告属于每一个集的可能性,当得到所有的SVMPredict的值后,取其最大值与阈值θ进行比较,若大于θ,则属于某一个集,若小于则新的缺陷报告独立成一集,与其他报告不相似。进一步地,所述相关特征为修复者和修复时间。进一步地,所述步骤五具体为:提取缺陷报告的相关特征后,对影响被推荐者的因素进行量化,所述因素为修复效率和修复经验;修复效率:其中,devi代表候选修复者,bj指被修复者devi修复过的缺陷报告,F(bj,devi)指缺陷报告b的修复时间,n指修复者devi修复的报告总数;修复经验:其中,“#”表示“……的数目”;执行修复者推荐算法(DRA):其中,β和γ为两个不同因素的权重,满足β+γ=1,M表示当有新的缺陷报告到达时,所有可推荐的人数。本专利技术所述方法的优点为:在使用余弦定理进行相似度计算的时候,将报告描述和报告标题分别赋给不同的权重,表示在这两类文本中相应的词的重要性不同以提高信息检索的精确度。考虑了被推荐的修复者的相关属性,例如修复者的效率,修复者的经验等,将其作为标准评判修复者是否合适的依据。附图说明图1是本专利技术所述一种缺陷修复者自动推荐方法的流程框图;图2是各个方法的F-measure值-修复者推荐数曲线图。具体实施方式下面将结合本专利技术实施例中的附图对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。结合图1,本专利技术提出一种缺陷修复者自动推荐方法,包括以下步骤:步骤一、将新生成的缺陷报告加入到数据库;步骤二、使用自然语言处理技术(NLP)对缺陷报告进行预处理,并利用余弦定理计算该缺陷报告与其他缺陷报告的相似度;所述预处理具体为:系统加载python库NLTK和TEXTBLOB实现以下步骤:(1)分词:缺陷报告或者用户评论信息被切分成若干词汇,这些词汇被用来计算文本相似度。(2)停止词去除:一些停止词(比如“the”“a”“are”等)频繁出现在英文文本中但又对缺陷定位没有任何具体意义。根据WordNet停止词列表,系统将移除这些词汇。(3)词根化:所有的单词将会被转化为它们的根形态,也就是说第三人称单数,过去时和将来时等时态会被转化为词汇的原始形态。(4)名词和动词筛选:通过加载POS标签分类模块识别缺陷报告和用户评论信息中的动词和名词。只有这些词汇被用来计算文本相似度,因为它们是文本中最具有代表性意义的词汇。步骤三、使用支持向量机SVM将新生成的缺陷报告归类到与他相似度最高的一类中;步骤四、提取相关特征;所述相关特征为修复者和修复时间。步骤五、执行修复者推荐算法,得到最终的修复者推荐名单。所述利用余弦定理计算该缺陷报告与其他缺陷报告的相似度,具体为:使用余弦相似度计算两个缺陷报告之间的相似度,公式如下:其中,Vi和Vj表示不同缺陷报告的向量,Wki指缺陷报告di中第k个词的权重,Wkj指缺陷报告dj中第k个词的权重,n代表词集的大小;两个权重的值通过TF-IDF来计算,公式如下:其中,tfki是缺陷报告di中第k个词的频率,N是总的缺陷报告数,nk代表第k个词至少出现一次的缺陷报告数;仅提取缺陷报告的标题和描述,分别独立计算两个缺陷报告标题之间和描述之间的文本相似值,根据以下公式得到两个缺陷报告之间的相似度(SBBR):SBBR(bi,bj)=α×tsij+(1-α)×dsij其中,tsij是指缺陷报告bi和bj标题之间的文本相似值,dsij是指缺陷报告bi和bj描述之间的文本相似值,α指标题在缺陷报告中所占的相对权重。所述步骤三具体为:当一个新的缺陷报告到来时,基于SVM的本文档来自技高网...

【技术保护点】
1.一种缺陷修复者自动推荐方法,其特征在于,包括以下步骤:步骤一、将新生成的缺陷报告加入到数据库;步骤二、使用自然语言处理技术对缺陷报告进行预处理,并利用余弦定理计算该缺陷报告与其他缺陷报告的相似度;步骤三、使用支持向量机SVM将新生成的缺陷报告归类到与他相似度最高的一类中;步骤四、提取相关特征;步骤五、执行修复者推荐算法,得到最终的修复者推荐名单。

【技术特征摘要】
1.一种缺陷修复者自动推荐方法,其特征在于,包括以下步骤:步骤一、将新生成的缺陷报告加入到数据库;步骤二、使用自然语言处理技术对缺陷报告进行预处理,并利用余弦定理计算该缺陷报告与其他缺陷报告的相似度;步骤三、使用支持向量机SVM将新生成的缺陷报告归类到与他相似度最高的一类中;步骤四、提取相关特征;步骤五、执行修复者推荐算法,得到最终的修复者推荐名单。2.根据权利要求1所述的方法,其特征在于,所述利用余弦定理计算该缺陷报告与其他缺陷报告的相似度,具体为:使用余弦相似度计算两个缺陷报告之间的相似度,公式如下:其中,Vi和Vj表示不同缺陷报告的向量,Wki指缺陷报告di中第k个词的权重,Wkj指缺陷报告dj中第k个词的权重,n代表词集的大小;两个权重的值通过TF-IDF来计算,公式如下:其中,tfki是缺陷报告di中第k个词的频率,N是总的缺陷报告数,nk代表第k个词至少出现一次的缺陷报告数;仅提取缺陷报告的标题和描述,分别独立计算两个缺陷报告标题之间和描述之间的文本相似值,根据以下公式得到两个缺陷报告之间的相似度(SBBR):SBBR(bi,bj)=α×tsij+(1-α)xdsij其中,tsij是指缺陷报告bi和bj标题之间的文本相似值,dsij是指缺陷报告bi和bj描述之间的文本相似值,α指标题在缺陷报告中所占的相对权重。3.根据权利要求2所述的方法,其特征在于,所述步骤三具体为:使用K-means聚类算法,将已有的缺陷报告聚类得到相似报告集,所述K-means聚类算法描述为:1)在空间中任意放置K个缺陷报告作为参考数据点,并保证他们足够分散,所述参考数据点将作为初始的簇的形心;2)将每一个缺陷报告分配到形心离他最近的那个簇中;3)当所有的缺陷...

【专利技术属性】
技术研发人员:张涛杨泽浩栾思敏
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1