Software Defect Prediction with Bayesian Approaches
Software defect prediction is an important area in software engineering because it helps developers identify and fix problems before they become costly and hard-to-fix bugs. Early detection of software defects helps save time and money in the software development process and ensures the quality of t...
Main Authors: | , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2023-05-01
|
Series: | Mathematics |
Subjects: | |
Online Access: | https://www.mdpi.com/2227-7390/11/11/2524 |
_version_ | 1797597171820789760 |
---|---|
author | María José Hernández-Molinos Angel J. Sánchez-García Rocío Erandi Barrientos-Martínez Juan Carlos Pérez-Arriaga Jorge Octavio Ocharán-Hernández |
author_facet | María José Hernández-Molinos Angel J. Sánchez-García Rocío Erandi Barrientos-Martínez Juan Carlos Pérez-Arriaga Jorge Octavio Ocharán-Hernández |
author_sort | María José Hernández-Molinos |
collection | DOAJ |
description | Software defect prediction is an important area in software engineering because it helps developers identify and fix problems before they become costly and hard-to-fix bugs. Early detection of software defects helps save time and money in the software development process and ensures the quality of the final product. This research aims to evaluate three algorithms to build Bayesian Networks to classify whether a project is prone to defects. The choice is based on the fact that the most used approach in the literature is Naive Bayes, but no works use Bayesian Networks. Thus, K2, Hill Climbing, and TAN are used to construct Bayesian Networks. On the other hand, three public PROMISE data sets are used based on McCabe and Halstead complexity metrics. The results are compared with the most used approaches in the literature, such as Decision Tree and Random Forest. The results from different performance metrics applied to a cross-validation process show that the classification results are comparable to Decision Tree and Random Forest, with the advantage that Bayesian algorithms show less variability, which helps engineering software to have greater robustness in their predictions since the selection of training and test data do not give variable results, unlike Decision Tree and Random Forest. |
first_indexed | 2024-03-11T03:02:02Z |
format | Article |
id | doaj.art-cfa864124d7b4a59a1b6603b69501553 |
institution | Directory Open Access Journal |
issn | 2227-7390 |
language | English |
last_indexed | 2024-03-11T03:02:02Z |
publishDate | 2023-05-01 |
publisher | MDPI AG |
record_format | Article |
series | Mathematics |
spelling | doaj.art-cfa864124d7b4a59a1b6603b695015532023-11-18T08:13:12ZengMDPI AGMathematics2227-73902023-05-011111252410.3390/math11112524Software Defect Prediction with Bayesian ApproachesMaría José Hernández-Molinos0Angel J. Sánchez-García1Rocío Erandi Barrientos-Martínez2Juan Carlos Pérez-Arriaga3Jorge Octavio Ocharán-Hernández4Facultad de Estadística e Informática, Universidad Veracruzana, Xalapa 91020, Veracruz, MexicoFacultad de Estadística e Informática, Universidad Veracruzana, Xalapa 91020, Veracruz, MexicoInstituto de Investigaciones en Inteligencia Artificial, Universidad Veraruzana, Xalapa 91097, Veracruz, MexicoFacultad de Estadística e Informática, Universidad Veracruzana, Xalapa 91020, Veracruz, MexicoFacultad de Estadística e Informática, Universidad Veracruzana, Xalapa 91020, Veracruz, MexicoSoftware defect prediction is an important area in software engineering because it helps developers identify and fix problems before they become costly and hard-to-fix bugs. Early detection of software defects helps save time and money in the software development process and ensures the quality of the final product. This research aims to evaluate three algorithms to build Bayesian Networks to classify whether a project is prone to defects. The choice is based on the fact that the most used approach in the literature is Naive Bayes, but no works use Bayesian Networks. Thus, K2, Hill Climbing, and TAN are used to construct Bayesian Networks. On the other hand, three public PROMISE data sets are used based on McCabe and Halstead complexity metrics. The results are compared with the most used approaches in the literature, such as Decision Tree and Random Forest. The results from different performance metrics applied to a cross-validation process show that the classification results are comparable to Decision Tree and Random Forest, with the advantage that Bayesian algorithms show less variability, which helps engineering software to have greater robustness in their predictions since the selection of training and test data do not give variable results, unlike Decision Tree and Random Forest.https://www.mdpi.com/2227-7390/11/11/2524software defect predictionBayesian Networksclassificationmachine learning |
spellingShingle | María José Hernández-Molinos Angel J. Sánchez-García Rocío Erandi Barrientos-Martínez Juan Carlos Pérez-Arriaga Jorge Octavio Ocharán-Hernández Software Defect Prediction with Bayesian Approaches Mathematics software defect prediction Bayesian Networks classification machine learning |
title | Software Defect Prediction with Bayesian Approaches |
title_full | Software Defect Prediction with Bayesian Approaches |
title_fullStr | Software Defect Prediction with Bayesian Approaches |
title_full_unstemmed | Software Defect Prediction with Bayesian Approaches |
title_short | Software Defect Prediction with Bayesian Approaches |
title_sort | software defect prediction with bayesian approaches |
topic | software defect prediction Bayesian Networks classification machine learning |
url | https://www.mdpi.com/2227-7390/11/11/2524 |
work_keys_str_mv | AT mariajosehernandezmolinos softwaredefectpredictionwithbayesianapproaches AT angeljsanchezgarcia softwaredefectpredictionwithbayesianapproaches AT rocioerandibarrientosmartinez softwaredefectpredictionwithbayesianapproaches AT juancarlosperezarriaga softwaredefectpredictionwithbayesianapproaches AT jorgeoctavioocharanhernandez softwaredefectpredictionwithbayesianapproaches |