Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail

Mitigating software defects at code level at early stages allows for long-term maintenance of software quality. According to IBM's report, the cost of fixing an error rises exponentially as software moves forward in software development lifecycle. The cost to fix defects after software release...

Full description

Saved in:
Bibliographic Details
Main Author: Ahmad Muhaimin , Ismail
Format: Thesis
Published: 2023
Subjects:
Online Access:http://studentsrepo.um.edu.my/15396/2/Ahmad_Muhaimin_Ismail.pdf
http://studentsrepo.um.edu.my/15396/1/Ahmad_Muhaimin.pdf
http://studentsrepo.um.edu.my/15396/
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Universiti Malaya
id my.um.stud.15396
record_format eprints
spelling my.um.stud.153962024-09-12T18:19:44Z Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail Ahmad Muhaimin , Ismail QA75 Electronic computers. Computer science QA76 Computer software Mitigating software defects at code level at early stages allows for long-term maintenance of software quality. According to IBM's report, the cost of fixing an error rises exponentially as software moves forward in software development lifecycle. The cost to fix defects after software release is up to 15 times more than the fixing cost for defects uncovered during the initial software development phase. Quality assurance relies on code reviews to identify and fix software defects. Apart from code optimization and formal inspection, software defect prediction makes use of limited resources as part of the code review process to identify the most cost-effective way to discover defects. A software defect prediction approach is conducted at three levels of granularity: modules, files, and changes. Change level prediction, also referred to as Just-in-Time software defect prediction, assists in reducing the amount of code coverage without inspecting the entire file or package. Nevertheless, an inaccurate model of Just-in-Time software defect prediction impedes both prevention and recovery of defects. The accuracy of prediction is mainly adversely affected by imbalanced class distributions and rate of false results. Accordingly, the focus of this study is on the problems of ineffective oversampling in imbalanced class distributions and high false-positive rates in effort-aware software defect prediction. This study proposes a reliable framework for Just-in-Time software defect prediction to accurately predict software defects during the code change process using Deep Q-Network (DQN). The proposed framework consists of two modified parts: 1) rebalancing class distribution within training datasets by kernel-based cross oversampling, and 2) using DQN as a defect classifier for accurate prediction. The proposed framework is further validated by checking the constructed prediction model for efficiency in effort cost and prediction accuracy in open-source software projects. Validation of the prediction model is performed through within-project prediction, cross-project prediction, and timewise prediction to ensure model reliability. The quality assurance team can improve software defect localization by prioritizing testing based on Just-in-Time software defect prediction. 2023-09 Thesis NonPeerReviewed application/pdf http://studentsrepo.um.edu.my/15396/2/Ahmad_Muhaimin_Ismail.pdf application/pdf http://studentsrepo.um.edu.my/15396/1/Ahmad_Muhaimin.pdf Ahmad Muhaimin , Ismail (2023) Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail. PhD thesis, Universiti Malaya. http://studentsrepo.um.edu.my/15396/
institution Universiti Malaya
building UM Library
collection Institutional Repository
continent Asia
country Malaysia
content_provider Universiti Malaya
content_source UM Student Repository
url_provider http://studentsrepo.um.edu.my/
topic QA75 Electronic computers. Computer science
QA76 Computer software
spellingShingle QA75 Electronic computers. Computer science
QA76 Computer software
Ahmad Muhaimin , Ismail
Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail
description Mitigating software defects at code level at early stages allows for long-term maintenance of software quality. According to IBM's report, the cost of fixing an error rises exponentially as software moves forward in software development lifecycle. The cost to fix defects after software release is up to 15 times more than the fixing cost for defects uncovered during the initial software development phase. Quality assurance relies on code reviews to identify and fix software defects. Apart from code optimization and formal inspection, software defect prediction makes use of limited resources as part of the code review process to identify the most cost-effective way to discover defects. A software defect prediction approach is conducted at three levels of granularity: modules, files, and changes. Change level prediction, also referred to as Just-in-Time software defect prediction, assists in reducing the amount of code coverage without inspecting the entire file or package. Nevertheless, an inaccurate model of Just-in-Time software defect prediction impedes both prevention and recovery of defects. The accuracy of prediction is mainly adversely affected by imbalanced class distributions and rate of false results. Accordingly, the focus of this study is on the problems of ineffective oversampling in imbalanced class distributions and high false-positive rates in effort-aware software defect prediction. This study proposes a reliable framework for Just-in-Time software defect prediction to accurately predict software defects during the code change process using Deep Q-Network (DQN). The proposed framework consists of two modified parts: 1) rebalancing class distribution within training datasets by kernel-based cross oversampling, and 2) using DQN as a defect classifier for accurate prediction. The proposed framework is further validated by checking the constructed prediction model for efficiency in effort cost and prediction accuracy in open-source software projects. Validation of the prediction model is performed through within-project prediction, cross-project prediction, and timewise prediction to ensure model reliability. The quality assurance team can improve software defect localization by prioritizing testing based on Just-in-Time software defect prediction.
format Thesis
author Ahmad Muhaimin , Ismail
author_facet Ahmad Muhaimin , Ismail
author_sort Ahmad Muhaimin , Ismail
title Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail
title_short Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail
title_full Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail
title_fullStr Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail
title_full_unstemmed Deep Q-network for just-in-time software defect prediction / Ahmad Muhaimin Ismail
title_sort deep q-network for just-in-time software defect prediction / ahmad muhaimin ismail
publishDate 2023
url http://studentsrepo.um.edu.my/15396/2/Ahmad_Muhaimin_Ismail.pdf
http://studentsrepo.um.edu.my/15396/1/Ahmad_Muhaimin.pdf
http://studentsrepo.um.edu.my/15396/
_version_ 1811682654610784256