Industry-scale IR-based Bug Localization: A Perspective from Facebook
Not on the map. Why?
Abstract (arXiv)
We explore the application of Information Retrieval (IR) based bug localization methods at a large industrial setting, Facebook. Facebook's code base evolves rapidly, with thousands of code changes being committed to a monolithic repository every day. When a bug is detected, it is often time-sensitive and imperative to identify the commit causing the bug in order to either revert it or fix it. This is complicated by the fact that bugs often manifest with complex and unwieldy features, such as stack traces and other metadata. Code commits also have various features associated with them, ranging from developer comments to test results. This poses unique challenges to bug localization methods, making it a highly non-trivial operation. In this paper we lay out several practical concerns for industry-level IR-based bug localization, and propose Bug2Commit, a tool that is designed to address these concerns. We also assess the effectiveness of existing IR-based localization techniques from the software engineering community, and find that in the presence of complex queries or documents, which are common at Facebook, existing approaches do not perform as well as Bug2Commit. We evaluate Bug2Commit on three applications at Facebook: client-side crashes from the mobile app, server-side performance regressions, and mobile simulation tests for performance. We find that Bug2Commit outperforms the accuracy of existing approaches by up to 17%, leading to reduced time for triaging regressions and attributing bugs found in simulations.
Key facts. Cited by 5 papers in the map (data through 14 Oct 2026). First posted on arXiv 20 Oct 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 2; 2023: 0; 2024: 1.
5 papers.
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
- 2024BLAZE: Cross-Language and Cross-Project Bug Localization via Dynamic Chunking and Hard Example Learningcited by 7
- 2022Learning to Learn to Predict Performance Regressions in Production at Metacited by 1
- 2022An Empirical Study on Data Leakage and Generalizability of Link Prediction Models for Issues and Commitscited by 1
- 2024BLAZE: Cross-Language and Cross-Project Bug Localization via Dynamic Chunking and Hard Example Learning24 Jul 2024
- 2022An Empirical Study on Data Leakage and Generalizability of Link Prediction Models for Issues and Commits1 Nov 2022
- 2022Learning to Learn to Predict Performance Regressions in Production at Meta8 Aug 2022
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translation13 Oct 2021
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languages15 Feb 2021