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...

Full description

Bibliographic Details
Main Authors: 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
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