中文

工业级基于信息检索的缺陷定位:来自 Facebook 的视角

软件工程 2021-03-18 v2

摘要

我们探索了基于信息检索(IR)的缺陷定位方法在大型工业环境 Facebook 中的应用。Facebook 的代码库演进迅速,每天有数千次代码变更提交到单一代码仓库。当检测到缺陷时,通常具有时间敏感性,且必须识别导致该缺陷的提交以便回滚或修复。由于缺陷常以复杂且难以处理的特性(如堆栈跟踪和其他元数据)表现出来,这使问题复杂化。代码提交也有各种与之相关的特征,从开发者注释到测试结果。这给缺陷定位方法带来了独特的挑战,使其成为一项高度非平凡的操作。在本文中,我们列出了工业级基于 IR 的缺陷定位的几个实际关注点,并提出了 Bug2Commit,一种旨在解决这些关注点的工具。我们还评估了软件工程界现有基于 IR 的定位技术的有效性,发现面对 Facebook 中常见的复杂查询或文档时,现有方法的表现不如 Bug2Commit。我们在 Facebook 的三个应用上评估了 Bug2Commit:来自移动应用的客户端崩溃、服务端性能回归以及用于性能的移动模拟测试。我们发现 Bug2Commit 的准确率比现有方法高出至多 17%,从而减少了回归分类和模拟中发现缺陷归因所需的时间。

关键词

引用

@article{arxiv.2010.09977,
  title  = {Industry-scale IR-based Bug Localization: A Perspective from Facebook},
  author = {Vijayaraghavan Murali and Lee Gross and Rebecca Qian and Satish Chandra},
  journal= {arXiv preprint arXiv:2010.09977},
  year   = {2021}
}