Watch Out for Extrinsic Bugs! A Case Study of Their Impact in Just-In-Time Bug Prediction Models on the OpenStack Project

被引:25
作者
Rodriguez-Perez, Gema [1 ]
Nagappan, Meiyappan [1 ]
Robles, Gregorio [2 ]
机构
[1] Univ Waterloo, Waterloo, ON N2L 3G1, Canada
[2] Univ Rey Juan Carlos, Madrid, Spain
关键词
Computer bugs; Predictive models; Software; Data models; Control systems; Analytical models; Context modeling; Bugs; extrinsic bugs; intrinsic bugs; mislabeled bugs; bug-introducing changes; just-in-time; bug prediction;
D O I
10.1109/TSE.2020.3021380
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Intrinsic bugs are bugs for which a bug-introducing change can be identified in the version control system of a software. In contrast, extrinsic bugs are caused by external changes to a software, such as errors in external APIs; thereby they do not have an explicit bug-introducing change in the version control system. Although most previous research literature has assumed that all bugs are of intrinsic nature, in a previous study, we show that not all bugs are intrinsic. This paper shows an example of how considering extrinsic bugs can affect software engineering research. Specifically, we study the impact of extrinsic bugs in Just-In-Time bug prediction by partially replicating a recent study by McIntosh and Kamei on JIT models. These models are trained using properties of earlier bug-introducing changes. Since extrinsic bugs do not have bug-introducing changes in the version control system, we manually curate McIntosh and Kamei's dataset to distinguish between intrinsic and extrinsic bugs. Then, we address their original research questions, this time removing extrinsic bugs, to study whether bug-introducing changes are a moving target in Just-In-Time bug prediction. Finally, we study whether characteristics of intrinsic and extrinsic bugs are different. Our results show that intrinsic and extrinsic bugs are of different nature. When removing extrinsic bugs the performance is different up to 16 percent Area Under the Curve points. This indicates that our JIT models obtain a more accurate representation of the real world. We conclude that extrinsic bugs negatively impact Just-In-Time models. Furthermore, we offer evidence that extrinsic bugs should be further investigated, as they can significantly impact how software engineers understand bugs.
引用
收藏
页码:1400 / 1416
页数:17
相关论文
共 52 条
[1]   Snoring: a Noise in Defect Prediction Datasets [J].
Ahluwalia, Aalok ;
Falessi, Davide ;
Di Penta, Massimiliano .
2019 IEEE/ACM 16TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2019), 2019, :63-67
[2]   The Secret Life of Bugs: Going Past the Errors and Omissions in Software Repositories [J].
Aranda, Jorge ;
Venolia, Gina .
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :298-+
[3]  
Bachmann A., 2010, P 18 ACM SIGSOFT INT, P97, DOI DOI 10.1145/1882291.1882308
[4]  
Chen T, 2014, PROCEEDINGS OF THE FIFTH INTERNATIONAL SYMPOSIUM ON TEST AUTOMATION & INSTRUMENTATION, VOLS 1 AND 2, P82
[5]   A Framework for Evaluating the Results of the SZZ Approach for Identifying Bug-Introducing Changes [J].
da Costa, Daniel Alencar ;
McIntosh, Shane ;
Shang, Weiyi ;
Kulesza, Uira ;
Coelho, Roberta ;
Hassan, Ahmed E. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (07) :641-657
[6]   A Developer Centered Bug Prediction Model [J].
Di Nucci, Dario ;
Palomba, Fabio ;
De Rosa, Giuseppe ;
Bavota, Gabriele ;
Oliveto, Rocco ;
De Lucia, Andrea .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (01) :5-24
[7]  
Easterbrook S., 2008, GUIDE ADV EMPIRICAL, P285, DOI [DOI 10.1007/978-1-84800-044-511, 10.1007/978-1-84800-044-5_11, DOI 10.1007/978-1-84800-044-5_11]
[8]   Change impact graphs: Determining the impact of prior code changes [J].
German, Daniel M. ;
Hassan, Ahmed E. ;
Robles, Gregorio .
INFORMATION AND SOFTWARE TECHNOLOGY, 2009, 51 (10) :1394-1408
[9]  
Giger E, 2012, INT SYMP EMP SOFTWAR, P171, DOI 10.1145/2372251.2372285
[10]  
Gooch J.W., 2011, Encyclopedic Dictionary of Polymers, DOI DOI 10.1007/978-1-4419-6247-8_15268