中文

相似度度量对基于信息检索的软件工程任务影响的案例研究

软件工程 2018-08-10 v1 信息检索

摘要

信息检索(IR)在多样化的软件工程(SE)任务中起着关键作用,例如缺陷定位与分派、代码检索、需求分析等。相似度度量的选择是IR技术的核心组成部分。任何IR方法的性能都关键取决于为给定应用领域选择恰当的相似度度量。由于不同的SE任务处理不同类型的文档,如缺陷报告、软件描述、源代码等,这些文档常包含非标准的领域特定词汇,因此理解哪些相似度度量对不同SE文档效果最佳至关重要。本文针对两个任务呈现了关于不同相似度度量对各种SE文档影响的案例研究:(i)项目推荐:寻找相似的GitHub项目;(ii)缺陷定位:检索对应于某缺陷报告的出错源文件。这些任务包含文本(即描述、readme)与代码(即源代码、API、导入包)工件的多样组合。我们观察到IR模型应用于不同工件类型时性能有所差异。我们发现,一般而言,上下文感知模型在文本工件上取得更好性能。相反,简单的基于关键词的词袋模型在代码工件上表现更好。另一方面,概率排序模型BM25在文本与代码混合工件上表现更好。我们进一步研究了这种有依据的相似度度量选择如何影响SE工具的性能。特别地,我们分析了两个先前提出的用于项目推荐和缺陷定位任务、利用多样软件工件的工具,并观察到有依据的相似度度量选择确实提升了现有SE工具的性能。

关键词

引用

@article{arxiv.1808.02911,
  title  = {A Case Study on the Impact of Similarity Measure on Information Retrieval based Software Engineering Tasks},
  author = {Md Masudur Rahman and Saikat Chakraborty and Gail Kaiser and Baishakhi Ray},
  journal= {arXiv preprint arXiv:1808.02911},
  year   = {2018}
}

备注

22 pages, on submission