How Useful is Code Change Information for Fault Localization in Continuous Integration?
An Ran Chen, Tse-Hsun (Peter) Chen, Junjie Chen
摘要
Continuous integration (CI) is the process in which code changes are automatically integrated, built, and tested in a shared repository. In CI, developers frequently merge and test code under development, which helps isolate faults with finer-grained change information. To identify faulty code, prior research has widely studied and evaluated the performance of spectrum-based fault localization (SBFL) techniques. While the continuous nature of CI requires the code changes to be atomic and presents fine-grained information on what part of the system is being changed, traditional SBFL techniques do not benefit from it. To overcome the limitation, we propose to integrate the code and coverage change information in fault localization under CI settings. First, code changes show how faults are introduced into the system, and provide developers with better understanding on the root cause. Second, coverage changes show how the code coverage is impacted when faults are introduced. This change information can help limit the search space of code coverage, which offers more opportunities for improving fault localization techniques. Based on the above observations, we propose three new change-based fault localization techniques, and compare them with Ochiai, a commonly used SBFL technique. We evaluate these techniques on 192 real faults from seven software systems. Our results show that all three change-based techniques outperform Ochiai on the Defects4J dataset. In particular, the improvement varies from 7% to 23% and 17% to 24% for average MAP and MRR, respectively. Moreover, we find that our change-based fault localization techniques can be integrated with Ochiai, and boost its performance by up to 53% and 52% for average MAP and MRR, respectively.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- Towards Better Graph Neural Network-Based Fault Localization through Enhanced Code RepresentationMd Nakhla Rafi, Dong Jae Kim, An Ran Chen, Tse-Hsun (Peter) Chen 等FSE 2024 · 被引用 15 次
- Order Matters! An Empirical Study on Large Language Models' Input Order Bias in Software Fault LocalizationMd Nakhla Rafi, Dong Jae Kim, Tse-Hsun (Peter) Chen, Shaowei WangICSE 2026
- Do not neglect what's on your hands: localizing software faults with exception trigger streamXihao Zhang, Yi Song, Xiaoyuan Xie, Qi Xin 等ASE 2024
它引用的顶会 Paper4
- Fault Localization with Code Coverage Representation LearningYi Li, Shaohua Wang, Tien N. NguyenICSE 2021 · 被引用 120 次
- Can automated program repair refine fault localization? a unified debugging approachYiling Lou, Ali Ghanbari, Xia Li, Lingming Zhang 等ISSTA 2020 · 被引用 99 次
- Extracting Concise Bug-Fixing Patches from Human-Written Patches in Version Control SystemsYanjie Jiang, Hui Liu, Nan Niu, Lu Zhang 等ICSE 2021 · 被引用 38 次
- Enhanced Compiler Bug Isolation via Memoized SearchJunjie Chen, Haoyang Ma, Lingming ZhangASE 2020 · 被引用 36 次
相关 Paper
- Combining Coverage and Expert Features with Semantic Representation for Coincidental Correctness DetectionHuan Xie, Yan Lei, Maojin Li, Meng Yan 等ASE 2024 · 被引用 1 次
- Boosting coverage-based fault localization via graph-based representation learningYiling Lou, Qihao Zhu, Jinhao Dong, Xia Li 等FSE 2021 · 被引用 157 次
- Improving Spectrum-Based Localization of Multiple Faults by Iterative Test Suite ReductionDylan Callaghan, Bernd FischerISSTA 2023 · 被引用 16 次
- The best of both worlds: integrating semantic features with expert features for defect prediction and localizationChao Ni, Wei Wang, Kaiwen Yang, Xin Xia 等FSE 2022 · 被引用 76 次
- Efficient Incremental Code Coverage Analysis for Regression Test SuitesJiale Amber Wang, Kaiyuan Wang, Pengyu NieASE 2024 · 被引用 1 次
