中文

BLESER:基于增强语义检索的缺陷定位

软件工程 2021-09-09 v1

摘要

在方法粒度上定位缺陷的静态缺陷定位技术已受到研究人员与从业者的广泛关注。对于静态方法级缺陷定位技术,一个关键但具挑战性的步骤是充分检索方法与缺陷报告的语义。当前现有研究主要使用相同的词袋空间来表示方法与缺陷报告的语义,未考虑方法的结构信息与缺陷报告的文本上下文,这在很大程度上对缺陷定位性能产生了负面影响。为解决该问题,我们开发了 BLESER,一种基于增强语义检索的新缺陷定位技术。具体而言,我们使用基于 AST 的代码嵌入模型(更好地捕获代码结构)来检索方法的语义,并使用词嵌入模型(更好地捕获文本上下文)来表示缺陷报告的语义。随后,在增强的语义表示上构建深度学习模型。在模型构建过程中,我们比较了五种典型词嵌入模型在表示缺陷报告上的表现,并尝试探索重采样策略与代价敏感策略在处理类不平衡问题中的效用。我们在来自 Defects4J 数据集的五个 Java 项目上评估了 BLESER。我们发现:(1) 总体而言,词嵌入模型 ELMo 在辅助缺陷定位技术方面优于其他四种模型(包括 word2vec、BERT 等)。(2) 在旨在解决类不平衡问题的四种策略中,ROS(随机过采样)策略的表现远优于其他三种策略(包括随机欠采样、Focal Loss 等)。(3) 通过将 ELMo 与 ROS 集成到 BLESER 中,在方法级缺陷定位上,我们能在五个 Defects4J 项目上实现 0.108-0.504 的 MAP、0.134-0.510 的 MRR 以及 0.125-0.5 的 Accuracy@1。

关键词

引用

@article{arxiv.2109.03555,
  title  = {BLESER: Bug Localization Based on Enhanced Semantic Retrieval},
  author = {Weiqin Zou and Enming Li and Chunrong Fang},
  journal= {arXiv preprint arXiv:2109.03555},
  year   = {2021}
}