Please use this identifier to cite or link to this item:
|Title:||Software Defects Prediction|
|Authors:||Poon, Wai Nam|
|Department:||Department of Computer Science|
|Supervisor:||Supervisor: Dr. Keung, Wai Jacky; First Reader: Dr. Lu, Zheng; Second Reader: Dr. Yu, Yuen Tak|
|Abstract:||Software defects can cause a reduction in software quality, an increase in cost, as well as development delay or suspension. Hence, companies spent additional resources to find and fix bugs. However, it is very time-consuming to conduct comprehensive testing on software especially for large-scale projects. Therefore, researchers have conducted studies on software defect prediction to achieve a more cost-effective automated testing. Most of the software defect prediction have utilized machine learning techniques such as naïve Bayes, as well as software metrics like cyclomatic complexity as training data, to figure out the location of the bugs and put more resources on the defect-prone modules. However, newly developed or small scale projects cannot provide adequate training data for defect prediction. Cross-project defect prediction gains popularity in recent studies since it aims at using the software project from other sources to predict the defects in the target projects. Although researchers have proposed various approaches, the performance of prediction is still beyond satisfactory unfortunately. Therefore, a novel approach is proposed in this project. The approach utilizes credibility theorem from actuarial science and naïve Bayes algorithm to improve the performance in cross-project prediction. This project not only provides the design of the algorithm, but also offers a series of experimentations to investigate the performance of the proposed approach, coupled with a software prototype to demonstrate the usefulness of the new technique towards other datasets. The results show that the proposed approach can maintain a balance between probability of detection (pd) and false alarm (pf), and score a higher value of AUC, G-mean and pd. On the other hand, Wilcoxon signed rank test is conducted and it shows an improvement with statistical significance in terms of pd and G-mean. According to the experimental result, the performance of the proposed approach can outperform standard machine learning technique – naïve Bayes, and existing cross-project defect prediction – NN-filtering. It is because the proposed approach can enhance the relevancy between two distinct project so that there is gain in performance. Moreover, a proof-of-concept software prototype is developed as a dynamic web application written in PHP. Web-based application offers a graphical user interface for users to upload their software metrics; while the predictor utilizing the proposed approach predict the which module is defective and send back the prediction result to users to notify the location of the bugs. This project has submitted to The IEE International Conference on Software Quality, Reliability, and Security, and it is under review. The submitted paper is attached in the appendix.|
|Appears in Collections:||Computer Science - Undergraduate Final Year Projects |
Items in Digital CityU Collections are protected by copyright, with all rights reserved, unless otherwise indicated.