论文部分内容阅读
缺陷报告作为软件维护周期过程中产生的缺陷描述数据,由于这些报告通常由对软件本身了解甚少的用户匆忙撰写而成,它们不仅存在着表达模糊、不专业、信息不全、难于理解等问题,还存在于同一缺陷被反复重复提交的问题,由此造成提交上来的缺陷报告中存在有大量冗余重复的缺陷报告,对于此类重复缺陷报告如果反复被分派给开发者,势必造成人力资源的严重浪费,特别对于大型开源项目而言此类问题尤为明显。为了减轻人工检测重复缺陷报告的负担,国内外很多专家学者投入到重复缺陷报告检测领域的研究并提出了一系列的重复缺陷报告的检测方法。但是由于传统的重复报告自动检测方法普遍采用向量空间模型作为理论基础,构建的向量空间存在维度高、数据稀疏且有嗓声等问题,降低了检测执行效率,查全率和查准率较低。针对以上问题,本文提出了一种全新的基于主题模型理论的检测方法,潜在狄利克雷分配模型(LDA,Latent DirichletAllocation)是最简单的主题模型,通过LDA模型能够将缺陷报告文档从传统的高维的单词空间映射到低维的主题空间,最后在低维的主题空间上计算文档之间的相似度,从而大大地降低了待处理空间的维度并提高了算法了检测执行效率。本文的主要工作如下:1.通过大量查阅国内外相关文献,分析了本课程的研究背景以及国内外研究现状,明确了该领域内目前存在的问题并提出了相应的解决方案。2.通过分析缺陷报告的分布情况,构建了本实验的样本空间,并在该空间内抽取了所需要的缺陷报告数据,之后对实验数据进行了预处理,预处理主要包括两步:数据基本清理和数据深度清理,从而保证了实验数据的有效性和可靠性。3.摸拟传统的重复缺陷报告检测方法进行对比实验,首先介绍了向量空间模型理论,然后分析了特征项选取和权重计算方法,之后通过向量空间模型计算了缺陷报告的相似度并对实验结果进行了评估。4.针对传统方法的弊端,完成基于潜在狄利克雷分配模型的重复缺陷报告检测实验,实验过程首先利用LDA构建主题模型,其次构建了实验的测试样本空间便于验证实验效果,再次分别计算了执行信息相似度和分类信息相似度,之后将两者进行加权和得到缺陷报告的最终相似度,最后对实验结果进行了评估。实验结果表明,基于潜在狄利克雷分配模型进行重复缺陷报告检测,可以很好地解决传统方法高维度、高嗓音的缺点,同时加入执行信息和分类信息后可以大大提高实验结果的准确度。