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!
Description
Summary: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.