Software Defect Prediction: A Machine Learning Approach with Voting Ensemble


Abstract:

In software development, defects are an inevitable part of the process. They can occur at any stage, from requirements gathering to coding to testing. Software defect prediction (SDP) can help minimize costs, guide the testing effort effectively, and ultimately improve overall software quality. This study presents an innovative approach using a machine learning framework with a Voting Ensemble model using k-Nearest Neighbors (KNN) and Support Vector Machines (SVM). In addition, the study delves into the challenge posed by imbalanced data sets, a common problem in SDP, and employs several techniques such as NearMiss, RandomOverSampler, SMOTETomek, and BalancedBaggingClassifier to address this imbalance. The results demonstrate a marked improvement in the detection of defective modules at the cost of a decrease in precision, a trade-off that is considered beneficial in scenarios where detecting all defects is critical. The balanced approach between precision and recall highlights the model’s increased sensitivity and ability to identify critical cases, essential to ensure software quality and reliability. This research contributes significantly to the SDP field, offering a balanced and effective solution for defect detection and test planning optimization in software development.

Año de publicación:

2024

Keywords:

  • Binary classification
  • ensemble
  • Software defect prediction

Fuente:

scopusscopus

Tipo de documento:

Other

Estado:

Acceso restringido

Áreas de conocimiento:

  • Aprendizaje automático
  • Software
  • Ciencias de la computación

Áreas temáticas de Dewey:

  • Programación informática, programas, datos, seguridad
  • Métodos informáticos especiales
  • Ciencias de la computación
Procesado con IAProcesado con IA

Objetivos de Desarrollo Sostenible:

  • ODS 9: Industria, innovación e infraestructura
  • ODS 17: Alianzas para lograr los objetivos
  • ODS 8: Trabajo decente y crecimiento económico
Procesado con IAProcesado con IA