【技术实现步骤摘要】
一种基于缺陷报告噪音剔除和关键词扩充的缺陷定位方法
[0001]本专利技术公开了一种基于缺陷报告噪音剔除和关键词扩充的缺陷定位方法,方法包含三个阶段:1)噪音剔除;2)关键词扩充;3)语义相似比较。主要通过提高缺陷报告质量来实现更好的缺陷定位,解决现有方法在抽取缺陷报告语义时忽略了噪音处理以及文本内容不够丰富的问题。属于软件开发过程中缺陷定位与修复
技术介绍
[0002]软件缺陷通常会伴随软件产品的整个生命周期。对于一个大型并且不断发展的软件系统,其项目团队可能会很长一段时间内收到大量的缺陷报告。软件维护人员需要阅读缺陷报告,理解缺陷,并从代码库中查找与该缺陷报告描述内容相关的源代码文件,也可能是某个类或方法或是具体某个代码元素,来确定产生该缺陷的位置。现有的解决方法可以根据是否运行测试用例分成两类:静态缺陷定位和动态缺陷定位。
[0003]而对于一个包含数百甚至数千个文件的大型项目来说,手工进行缺陷定位是一项费时费力的工作,会导致缺陷修复时间延长,维护成本增加,用户满意度降低。于是为了帮助开发人员快速找到 ...
【技术保护点】
【技术特征摘要】
1.一种基于缺陷报告噪音剔除和关键词扩充的缺陷定位方法,其特征在于,包括以下三个步骤:步骤1,噪音剔除阶段,对缺陷报告的两类关键信息,即堆栈信息和刨除堆栈信息的详细问题描述进行噪音的剔除。堆栈信息的噪音剔除主要通过抽取异常关键词的方式进行,而刨除堆栈信息的详细问题描述则主要使用特征选择的方法进行噪音处理;步骤2,关键词扩充阶段,使用去噪后的缺陷报告作为初始查询,分别运行三种主流的基于信息检索的缺陷定位技术,并使用AdaBoost将三个预测结果合并为一个缺陷文件推荐列表,再从该列表文件中抽取词频大于10%的关键词来扩充缺陷报告文本;步骤3,语义相似比较阶段,使用词嵌入模型Word2Vec对缺陷报告和源代码文件抽取语义特征,比较其余弦相似性,生成最终的缺陷文件推荐列表,以完成缺陷定位。2.根据权利要求1所述的基于缺陷报告噪音剔除和关键词扩充的缺陷定位方法,其特征在于,所述步骤1噪音剔除阶段中,其主要包括以下2个步骤:对于堆栈信息的噪音剔除主要通过抽取异常关键词的方式进行,抽取与问题直接相关的错误类型,如Out of Bound,Divide by Zero等,以及离异常抛出位置较近的堆栈信息中的函数调用...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。