一种基于版本提交信息的软件缺陷自动分派方法及系统技术方案

技术编号:23085455 阅读:30 留言:0更新日期:2020-01-11 01:17
本发明专利技术公开了一种基于版本提交信息的软件缺陷自动分派方法,包括以下步骤:步骤1:提取commit信息和bug信息,并建立commit信息模型和bug信息模型;步骤2:bug信息模型基于LDA模型进行计算,得到bug‑topic列表;步骤3:对commit信息模型和bug信息模型进行相似度匹配,得出bug‑fixer列表;步骤4:将bug‑topic列表与bug‑fixer列表相互映射,得到fixer‑topic列表;步骤5:任意一种bug信息对应的bug‑topic列表通过fixer‑topic列表进行分派比对,匹配出合适的软件缺陷修复者。此方法解决了源码文件定位准确率低和修复者工作量巨大的问题,充分挖掘commit库中有价值的信息,精准定位源码文件及其开发者,有效的提高了缺陷分派的准确度,实现了软件缺陷的自动分派,减小了修复者的工作量。

A method and system of software defect automatic distribution based on version submitted information

【技术实现步骤摘要】
一种基于版本提交信息的软件缺陷自动分派方法及系统
本专利技术涉及软件仓库挖掘中的软件缺陷管理
,具体涉及一种基于版本提交信息的软件缺陷自动分派方法及系统。
技术介绍
随着软件行业的发展,开源软件的规模和复杂性也在不断地增加,因此会有更多的缺陷不断产生。由于缺陷数量的不断增大,如果开发人员对其修复不及时,这将会给用户对软件的使用带来更多的不便。大规模缺陷的及时修复成为软件工程研究与实践的一大难题,这也给软件的维护增加了挑战性,严重影响了软件的可靠性和可用性。软件维护需要投入较高的成本和精力。在开源软件的早期,由于项目规模和复杂度较小,整个项目会产生较少的缺陷,人工地将缺陷分配给开发者进行修复完全是可以的。但是,对于现阶段的开源软件项目,缺陷数量大幅度增加,缺陷分配的任务量繁重,缺陷分配的任务大大超过了一个人所承受的工作量。在版本控制工具仓库的commit库可以比较好的反映出开发人员的各种信息,而现在大部分技术都使用相关源码文件来提取相关开发者和分析开发者经验,没有充分挖掘commit库中有价值的信息。原有的软件缺陷分派技术,本文档来自技高网...

【技术保护点】
1.一种基于版本提交信息的软件缺陷自动分派方法,其特征在于,包括以下步骤:/n步骤1:从版本控制工具仓库中提取commit信息,从软件bug仓库中提取bug信息,并分别建立commit信息模型和bug信息模型;/n步骤2:所述bug信息模型基于LDA模型进行计算,得到所述bug信息模型的bug-topic列表;/n步骤3:对所述commit信息模型和所述bug信息模型进行相似度匹配,得出与所述bug信息模型对应的bug-fixer列表;/n步骤4:将所述bug-topic列表与所述bug-fixer列表相互映射,得到所述bug信息模型的fixer-topic列表;/n步骤5:所述bug信息模型...

【技术特征摘要】
1.一种基于版本提交信息的软件缺陷自动分派方法,其特征在于,包括以下步骤:
步骤1:从版本控制工具仓库中提取commit信息,从软件bug仓库中提取bug信息,并分别建立commit信息模型和bug信息模型;
步骤2:所述bug信息模型基于LDA模型进行计算,得到所述bug信息模型的bug-topic列表;
步骤3:对所述commit信息模型和所述bug信息模型进行相似度匹配,得出与所述bug信息模型对应的bug-fixer列表;
步骤4:将所述bug-topic列表与所述bug-fixer列表相互映射,得到所述bug信息模型的fixer-topic列表;
步骤5:所述bug信息模型中的任意一种bug信息对应的所述bug-topic列表通过所述fixer-topic列表进行分派比对,匹配出合适的软件缺陷修复者。


2.如权利要求1所述的基于版本提交信息的软件缺陷自动分派方法,其特征在于,所述提取commit信息和提取bug信息是通过NLP技术对版本控制工具仓库和软件bug仓库中的缺陷文本特征进行预处理,从而分别得到所述commit信息和所述bug信息;所述commit信息包括commit描述信息、commit提交日期、开发人员修改过的源代码文件和commit提交者;所述bug信息包括bug摘要、bug描述信息、bug评论和bug提交时间。


3.如权利要求2所述的基于版本提交信息的软件缺陷自动分派方法,其特征在于,所述预处理包括对版本控制工具仓库中和软件bug仓库中提取词干、去除停用词、拆分合成词、词汇归一化方法提取出所述commit信息和所述bug信息。


4.如权利要求3所述的基于版本提交信息的软件缺陷自动分派方法,其特征在于,所述LDA模型进行计算还包括以下步骤:
步骤2.1:将所述bug信息模型上的每个所述bug信息映射在所述LDA模型上,得到bug映射向量p(zi|z-i,w),且满足:



其中,α,β分别为多维变量相互之间权重关系的两个向量,且满足:α=β=1/K;wi为所述bug信息中的第i个单词;zi为所述bug信息中单词的主题;T和V分别为所述bug信息中主题zi的个数和所述bug信息中不同单词w的总数;d为第i个单词wi所在的文档;为单词w分配给主题z的次数;表示所有单词w分配给z的总次数;为所述bug信息中文档d中的单词w分配给z的次数;nd是文档d包含的单词w总数;
步骤2.2:对所述bug映射向量进行多次采样迭代,获得所述bug信息中每个单词w所属的主题概率分布向量;所述主题概率分布向量为θd,z,且满足:



其中,为所述bug信息中文档d中的主题为z的单词数量,nd为所述bug信息中文档d中的单词总数;
步骤2.3:选取所述bug信息中所述主题概率分布向量θa,z的最优解,与所述bug映射向量p(zi|z-i,w)一一对应,得到所述bug信息模型的bug-topic列表。


5.如权利要求4所述的基于版本提交信息的软件缺陷自动分派方法,其特征在于,所述进行相似度匹配还包括以下步骤:
步骤3.1:分析与所述...

【专利技术属性】
技术研发人员:朱云龙任洪敏李璐璐
申请(专利权)人:上海海事大学
类型:发明
国别省市:上海;31

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

1
相关领域技术
  • 暂无相关专利