随着社会的不断发展,为满足人们的日常生活 需求,软件出现了更新速度快、开发周期短等现 象,与此同时,软件测试人员也迎来了新的挑战. 据统计,Eclipse [1]、Firefox [2]等大型项目每天会收 到近100份新问题报告[3],测试人员需要对新提交 的问题报告进行处理,判断其中是否含有新发现的 问题.但事实是,在这些大型软件的缺陷报告库 中,有近1/3的问题报告被测试人员标记为重复问题报告[4].特别是在众包测试平台等测试服务类平 台的管理过程中,任务发布者需要根据用户提交的 问题报告质量及数量支付相应的酬劳,所以问题报告的评判工作尤为重要.然而,人工评阅问题报告 是个十分枯燥且低效的过程,如何对问题报告进行 自动化评价成为值得研究的课题.
为了能够自动化判定用户提交的问题报告是否为重复问题报告或虚假问题报告,本文在 Thomas 等[5]研究基础上,提出了一种基于 BM25算法的问 题报告自动化检测方法.BM25模型是二元独立模 型 BIM 的一种扩展,相比较于传统的向量空间模 型的相似度计算方法,BM25模型在计算相似度时 考虑了单词在查询、文档中的权值以及多个可调节 参数,在实际应用中效果明显高于 BIM 模型.
本文方法通过建模和分类实现对问题报告的自动化评价,通过在软件测试大赛的真实数据集上验 证其有效性;另外在相同的数据集上与传统的向量空间模型方法进行对比,实验证明本文方法在查全 率、查准率、F1值(准确率和召回率的调和平均值) 和平均准确率均值(meanaverageprecision,MAP)等评价指标上都高于向量空间模型,同时自动化的评价方式提高了检测问题报告的效率.