【技术实现步骤摘要】
基于提交信息的移动应用错误定位方法
本申请属于计算机科学与技术,软件工程领域。
技术介绍
过去的错误定位方法主要应用在传统桌面软件上,因此并没有考虑到移动应用(即MobileApps)所具备的特性。这些特性包含较少数量的历史缺陷报告以及较少的缺陷细节(比如程序实体名等信息)描述。它们会导致过去在桌面软件上所适用的方法并不能够适用在移动应用中。举例来说,两阶段模型和BugLocator这两种过去的方法都需要依靠大规模的历史缺陷报告。而BLUiR则需要充分的缺陷细节描述信息。在这种情况下,如果将过去的方法应用在移动应用中则会导致性能的严重下降。
技术实现思路
:为了解决上述现有方法应用在移动应用中会导致性能严重下降等问题,实现面向移动应用的错误定位技术,每一个新的缺陷报告(包含题目和描述等)作为查询条件用来搜索错误发生的源码文件。在技术的实现过程中,历史缺陷报告,源码文件以及提交信息等数据源用来完成缺陷定位的任务。为解决上述问题,本专利技术提供的基于提交信息的移动应用错误定位方法技术方案为:首先,摘要语法树技术将所有的候选源码文件构建成结构化文档。其次,通过对缺陷报告,候选源码文件以及提交信息进行预处理,结构化及非结构化索引被建立。历史缺陷报告和提交信息之所以被作为非结构化索引,是因为它们不包含任何域。然后,BM25F用来计算查询条件和候选源文件结构化索引的相似度;BM25用来分别计算查询条件与提交信息和历史缺陷报告的非结构化索引的相似度。最后,通过融合以上的相似度,错误定位方法将返回查询条件所描述的错误的源文件列表。由此,面向移动应用的错误定位任务完成。所述提交 ...
【技术保护点】
1.基于提交信息的移动应用错误定位方法,其特征在于:包含以下步骤:1)提取候选源码文件结构化信息:用Java语言分析工具来创建每一个候选源码文件的摘要语法树,然后通过遍历摘要语法树的所有节点提取相应的结构化信息,最后每一个候选源码文件的结构化信息保存在一个.xml的结构化文档中;所述结构化信息为类名、方法名、变量名或代码注释中的一种或多种;2)对文档进行预处理和建立索引:利用自然语言处理技术对文档进行预处理,将预处理后的输出作为历史缺陷报告、候选源码文件以及提交信息的索引,在索引中,历史缺陷报告和提交信息均与候选源码文件关联,该关联关系通过GitHub项目仓库中的信息进行挖掘得出;所述文档为历史缺陷报告,步骤1)所得结构化文档以及提交信息;3)对候选源码文件进行排序和检索:当给定一个新的缺陷报告,即查询条件时,错误发生源码文件的检索过程开始;计算查询条件与候选源码文件的相似度,查询条件与历史缺陷报告的相似度,以及查询条件与提交信息的相似度,通过融合计算得到的相似度,在索引中定位该缺陷发生的位置,检索出错误发生源码文件。
【技术特征摘要】
1.基于提交信息的移动应用错误定位方法,其特征在于:包含以下步骤:1)提取候选源码文件结构化信息:用Java语言分析工具来创建每一个候选源码文件的摘要语法树,然后通过遍历摘要语法树的所有节点提取相应的结构化信息,最后每一个候选源码文件的结构化信息保存在一个.xml的结构化文档中;所述结构化信息为类名、方法名、变量名或代码注释中的一种或多种;2)对文档进行预处理和建立索引:利用自然语言处理技术对文档进行预处理,将预处理后的输出作为历史缺陷报告、候选源码文件以及提交信息的索引,在索引中,历史缺陷报告和提交信息均与候选源码文件关联,该关联关系通过GitHub项目仓库中的信息进行挖掘得出;所述文档为历史缺陷报告,步骤1)所得结构化文档以及提交信息;3)对候选源码文件进行排序和检索:当给定一个新的缺陷报告,即查询条件时,错误发生源码文件的检索过程开始;计算查询条件与候选源码文件的相似度,查询条件与历史缺陷报告的相似度,以及查询条件与提交信息的相似度,通过融合计算得到的相似度,在索引中定位该缺陷发生的位置,检索出错误发生源码文件。2.根据权利要求1所述的方法,其特征在于:步骤3)所述通过计算得到的相似度,在索引中定位该缺陷发生的位置的方法为:RS(q,sf)=α·S(q,sf)+β·S(q,Bsf)+(1-α-β)·S(q,Csf)(1)其中,sf代表候选源码文件,RS(q,sf)表示每一个检索条件即错误或缺陷q可能发生的源码文件sf的排序分数,最终可以推荐错误发生源文件;S(q,sf)表示查询条件与候选源码文件sf的相似度;S(q,Bsf)表示查询条件与所有与候选源码文件sf相关联的历史缺陷报告的相似度;S(q,Csf)表示查询条件与所有与候选源码文件sf相关联的提交信息的相似度;Bsf表示所有与源码文件sf相关联的历史缺陷报告的集合;α和β是调节参数,用来调节不同相似度的权重。3.根据权利要求1所述的方法,其特征在于:步骤2)所述自然语言处理技术是使用NaturalLanguageToolkit通过提供多种程序接口来关联文本处理库来实现的;所述预处理包括分词,停止词去除以及归根化。4.根据权利要求1所述的方法,其特征在于:步骤3)所述计算查询条件与候选源码文件的相似度的方法为:利用信息检索模型OkapiBM25来排序候选源码文件;BM25F的方程如下所示:其中,q为检索条件即错误或缺陷,d为文档,IDF为逆向文档频率,k1是一种调节参数,它用来调节TFD(t,d)的规模;TFD(t,d)代表基于域依赖的词频t在文档d中的正则化词频,t为同时出现在查询条件和文档d中的词汇,所述文档为候选源码文件;所述TFD(t,d)计算公式如下:其中ωf是域,即类名,方法名,变量名以及代码注释的权重参数,它的值越大越表示该域的重要性越高;o(d[f],t)表示词汇t在域f中出现的次数;ld[f]表示文档d中第f域的长度,所述长度为单词个数;表示所有文档d中第f域的平均长度;bf是一种调节参数,它决定域长度的缩放比例:当该值为1时代表全长度正则化,当该值为0时表示词权...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。