Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Thu 9 Jul 2020 08:33 - 08:41 at Baekje - I16-Testing and Debugging 2 Chair(s): Rui Abreu

Just-in-Time (JIT) defect prediction—a technique which aims to predict bugs at change level—has been paid more attention. JIT defect prediction leverages the SZZ approach to identify bug-introducing changes. Recently, researchers found that the performance of SZZ (including its variants) is impacted by a large amount of noise. SZZ may considerably mislabel changes that are used to train a JIT defect prediction model, and thus impact the prediction accuracy.

In this paper, we investigate the impact of the mislabeled changes by different SZZ variants on the performance and interpretation of JIT defect prediction models. We analyze four SZZ variants (i.e., B-SZZ, AG-SZZ, MA-SZZ, and RA-SZZ) that are proposed by prior studies. We build the prediction models using the labeled data by these four SZZ variants. Among the four SZZ variants, RA-SZZ is least likely to generate mislabeled changes, and we construct the testing set by using RA-SZZ. All of the four prediction models are then evaluated on the same testing set. We choose the prediction model built on the labeled data by RA-SZZ as the baseline model, and we compare the performance and metric importance of the models trained using the labeled data by the other three SZZ variants with the baseline model. Through a large-scale empirical study on a total of 126,526 changes from ten Apache open source projects, we find that in terms of various performance measures (AUC, F1-score, G-mean and Recall@20%), the mislabeled changes by B-SZZ and MA-SZZ are not likely to cause a considerable performance reduction, while the mislabeled changes by AG-SZZ cause a statistically significant performance reduction with an average difference of 1%–5%. When considering developers’ inspection effort (measured by LOC) in practice, the mislabeled changes by B-SZZ and AG-SZZ lead to 9%–10% and 1%–15% more wasted inspection effort, respectively. And the mislabeled changes by B-SZZ lead to significantly more wasted effort. The mislabeled changes by MA-SZZ do not cause considerably more wasted effort. We also find that the top-most important metric for identifying bug-introducing changes (i.e., number of files modified in a change) is robust to the mislabeling noise generated by SZZ. But the second- and third-most important metrics are more likely to be impacted by the mislabeling noise, unless random forest is used as the underlying classifier.

Thu 9 Jul
Times are displayed in time zone: (UTC) Coordinated Universal Time change

08:05 - 09:05: Paper Presentations - I16-Testing and Debugging 2 at Baekje
Chair(s): Rui AbreuInstituto Superior Técnico, U. Lisboa & INESC-ID
icse-2020-papers08:05 - 08:17
Yan CaiInstitute of Software, Chinese Academy of Sciences, Ruijie MengUniversity of Chinese Academy of Sciences, Jens PalsbergUniversity of California, Los Angeles
icse-2020-Journal-First08:17 - 08:25
Masanari KondoKyoto Institute of Technology, Cor-Paul BezemerUniversity of Alberta, Canada, Yasutaka KameiKyushu University, Ahmed E. HassanQueen's University, Osamu MizunoKyoto Institute of Technology
icse-2020-Journal-First08:25 - 08:33
Jirayus JiarpakdeeMonash University, Australia, Chakkrit (Kla) TantithamthavornMonash University, Australia, Ahmed E. HassanQueen's University
icse-2020-Journal-First08:33 - 08:41
Yuanrui FanZhejiang University, Xin XiaMonash University, Daniel Alencar Da CostaUniversity of Otago, David LoSingapore Management University, Ahmed E. HassanQueen's University, Shanping LiZhejiang University
icse-2020-Journal-First08:41 - 08:49
Zhongxin LiuZhejiang University, Xin XiaMonash University, David LoSingapore Management University, Zhenchang XingAustralia National University, Ahmed E. HassanQueen's University, Shanping LiZhejiang University
icse-2020-papers08:49 - 09:01
Ke LiUniversity of Exeter, Zilin XiangUniversity of Electronic Science and Technology of China, Tao ChenLoughborough University, Shuo Wang, Kay Chen TanCity University of Hong Kong