一句话:提出学习排序框架,利用正确、错误与无关历史缺陷-组件分配及缺陷转派知识图谱,显著提升缺陷组件分配准确率。
将缺陷分配给正确组件是分析和修复缺陷的前提。作者对 Mozilla 124,477 个缺陷的研究发现,错误组件分配频繁且广泛,许多错误重复出现,甚至被 BugBug 工具误导。为此,论文提出一个学习排序框架,从历史中正确、错误和无关的缺陷-组件分配中学习,并构建 Bug Tossing 知识图谱,纳入面向目标的组件转派关系、组件转派社区、组件描述及历史关闭/转派缺陷,导出三类七种特征。在六个 Mozilla 产品、186 个组件、98,587 个关闭缺陷(含 29,100 个转派缺陷)上评估,Top-k 准确率提升超 20%,NDCG@k(k=1,3,5,10)提升超 30%。
Assigning bugs to the right components is the prerequisite to get the bugs analyzed and fixed. Classification-based techniques have been used in practice for assisting bug component assignments, for example, the BugBug tool developed by Mozilla. However, our study on 124,477 bugs in Mozilla products reveals that erroneous bug component assignments occur frequently and widely. Most errors are repeated errors and some errors are even misled by the BugBug tool. Our study reveals that complex component designs and misleading component names and bug report keywords confuse bug component assignment not only for bug reporters but also developers and even bug triaging tools. In this work, we propose a learning to rank framework that learns to assign components to bugs from correct, erroneous and irrelevant bug-component assignments in the history. To inform the learning, we construct a bug tossing knowledge graph which incorporates not only goal-oriented component tossing relationships but also rich information about component tossing community, component descriptions, and historical closed and tossed bugs, from which three categories and seven types of features for bug, component and bug-component relation can be derived. We evaluate our approach on a dataset of 98,587 closed bugs (including 29,100 tossed bugs) of 186 components in six Mozilla products. Our results show that our approach significantly improves bug component assignments for both tossed and non-tossed bugs over the BugBug tool and the BugBug tool enhanced with component tossing relationships, with >20% Top-k accuracies and >30% NDCG@k (k=1,3,5,10).
DOI 原文 ·
@inproceedings{paperbot6479,
title = {Reducing Bug Triaging Confusion by Learning from Mistakes with a Bug Tossing Knowledge Graph},
author = {Yanqi Su and Zhenchang Xing and Xin Peng and Xin Xia and Chong Wang and Xiwei Xu and Liming Zhu},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678574}
}