Just-in-time defect prediction on JavaScript projects: A replication study
Change-level defect prediction is widely referred to as just-in-time (JIT) defect prediction since it identifies a defect-inducing change at the check-in time, and researchers have proposed many approaches based on the language-independent change-level features. These approaches can be divided into...
Saved in:
Main Authors: | , , , , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2022
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/7663 https://ink.library.smu.edu.sg/context/sis_research/article/8666/viewcontent/tosem_2020_0133.pdf |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Singapore Management University |
Language: | English |
id |
sg-smu-ink.sis_research-8666 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-86662023-01-10T03:42:46Z Just-in-time defect prediction on JavaScript projects: A replication study NI, Chao XIA, Xin LO, David YANG, Xiaohu HASSAN, Ahmed E. Change-level defect prediction is widely referred to as just-in-time (JIT) defect prediction since it identifies a defect-inducing change at the check-in time, and researchers have proposed many approaches based on the language-independent change-level features. These approaches can be divided into two types: supervised approaches and unsupervised approaches, and their effectiveness has been verified on Java or C++ projects. However, whether the language-independent change-level features can effectively identify the defects of JavaScript projects is still unknown. Additionally, many researches have confirmed that supervised approaches outperform unsupervised approaches on Java or C++ projects when considering inspection effort. However, whether supervised JIT defect prediction approaches can still perform best on JavaScript projects is still unknown. Lastly, prior proposed change-level features are programming language–independent, whether programming language–specific change-level features can further improve the performance of JIT approaches on identifying defect-prone changes is also unknown.To address the aforementioned gap in knowledge, in this article, we collect and label the top-20 most starred JavaScript projects on GitHub. JavaScript is an extremely popular and widely used programming language in the industry. We propose five JavaScript-specific change-level features and conduct a large-scale empirical study (i.e., involving a total of 176,902 changes) and find that (1) supervised JIT defect prediction approaches (i.e., CBS+) still statistically significantly outperform unsupervised approaches on JavaScript projects when considering inspection effort; (2) JavaScript-specific change-level features can further improve the performance of approach built with language-independent features on identifying defect-prone changes; (3) the change-level features in the dimension of size (i.e., LT), diffusion (i.e., NF), and JavaScript-specific (i.e., SO and TC) are the most important features for indicating the defect-proneness of a change on JavaScript projects; and (4) project-related features (i.e., Stars, Branches, Def Ratio, Changes, Files, Defective, and Forks) have a high association with the probability of a change to be a defect-prone one on JavaScript projects. 2022-01-01T08:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/7663 info:doi/10.1145/3508479 https://ink.library.smu.edu.sg/context/sis_research/article/8666/viewcontent/tosem_2020_0133.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Defect Prediction Just-in-time Defect Prediction Empirical Study JavaScript Databases and Information Systems Programming Languages and Compilers Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
Defect Prediction Just-in-time Defect Prediction Empirical Study JavaScript Databases and Information Systems Programming Languages and Compilers Software Engineering |
spellingShingle |
Defect Prediction Just-in-time Defect Prediction Empirical Study JavaScript Databases and Information Systems Programming Languages and Compilers Software Engineering NI, Chao XIA, Xin LO, David YANG, Xiaohu HASSAN, Ahmed E. Just-in-time defect prediction on JavaScript projects: A replication study |
description |
Change-level defect prediction is widely referred to as just-in-time (JIT) defect prediction since it identifies a defect-inducing change at the check-in time, and researchers have proposed many approaches based on the language-independent change-level features. These approaches can be divided into two types: supervised approaches and unsupervised approaches, and their effectiveness has been verified on Java or C++ projects. However, whether the language-independent change-level features can effectively identify the defects of JavaScript projects is still unknown. Additionally, many researches have confirmed that supervised approaches outperform unsupervised approaches on Java or C++ projects when considering inspection effort. However, whether supervised JIT defect prediction approaches can still perform best on JavaScript projects is still unknown. Lastly, prior proposed change-level features are programming language–independent, whether programming language–specific change-level features can further improve the performance of JIT approaches on identifying defect-prone changes is also unknown.To address the aforementioned gap in knowledge, in this article, we collect and label the top-20 most starred JavaScript projects on GitHub. JavaScript is an extremely popular and widely used programming language in the industry. We propose five JavaScript-specific change-level features and conduct a large-scale empirical study (i.e., involving a total of 176,902 changes) and find that (1) supervised JIT defect prediction approaches (i.e., CBS+) still statistically significantly outperform unsupervised approaches on JavaScript projects when considering inspection effort; (2) JavaScript-specific change-level features can further improve the performance of approach built with language-independent features on identifying defect-prone changes; (3) the change-level features in the dimension of size (i.e., LT), diffusion (i.e., NF), and JavaScript-specific (i.e., SO and TC) are the most important features for indicating the defect-proneness of a change on JavaScript projects; and (4) project-related features (i.e., Stars, Branches, Def Ratio, Changes, Files, Defective, and Forks) have a high association with the probability of a change to be a defect-prone one on JavaScript projects. |
format |
text |
author |
NI, Chao XIA, Xin LO, David YANG, Xiaohu HASSAN, Ahmed E. |
author_facet |
NI, Chao XIA, Xin LO, David YANG, Xiaohu HASSAN, Ahmed E. |
author_sort |
NI, Chao |
title |
Just-in-time defect prediction on JavaScript projects: A replication study |
title_short |
Just-in-time defect prediction on JavaScript projects: A replication study |
title_full |
Just-in-time defect prediction on JavaScript projects: A replication study |
title_fullStr |
Just-in-time defect prediction on JavaScript projects: A replication study |
title_full_unstemmed |
Just-in-time defect prediction on JavaScript projects: A replication study |
title_sort |
just-in-time defect prediction on javascript projects: a replication study |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2022 |
url |
https://ink.library.smu.edu.sg/sis_research/7663 https://ink.library.smu.edu.sg/context/sis_research/article/8666/viewcontent/tosem_2020_0133.pdf |
_version_ |
1770576410026442752 |