Logotipo del repositorio

Evaluación comparativa de algoritmos de aprendizaje automático para la predicción de defectos utilizando métricas orientadas a objetos y de complejidad del software

Cargando...
Miniatura

Entrevistado

Entrevistador

Fecha de la entrevista

Fecha

Título de la revista

ISSN de la revista

Título del volumen

Editor

Universidad Autónoma de Baja California.

Descripción

Abstract

La predicción de defectos de software representa un desafío constante para los desarrolladores, debido a que se realizan manualmente, consumen mucho tiempo y suelen ser costosas. Las métricas de software juegan un papel clave en la predicción de defectos de software. El objetivo de esta tesis es evaluar y comparar el desempeño de diversos algoritmos de aprendizaje automático para predecir defectos de software utilizando métricas orientadas a objetos y métricas de complejidad. Se utilizó el conjunto de datos MJ12A, compuesto por 19,148 registros y 20 métricas. Se aplicaron técnicas de preprocesamiento de datos como balanceo de clases a través de SMOTE (Synthetic Minority Over-Sampling Technique), normalización y se implementaron diversos algoritmos como K-Nearest Neighbors (KNN), Naïve Bayes (NB), Random Forest (RF), Support Vector Machine (SVM) y Perceptron Multicapa (MLP). Se realizaron tres experimentos utilizando: 1) métricas de complejidad, 2) métricas orientadas a objetos y 3) la combinación de métricas de complejidad y orientadas a objetos. Para determinar el desempeño de los algoritmos se utilizaron métricas de evaluación como exactitud, precisión, recall, sensibilidad, especificidad, F1-score, kappa y G-media lo que permitió conocer su capacidad predictiva. El algoritmo con mejor rendimiento fue RF con una exactitud del 87.23% y un F1-score de 86.67%. Para cada algoritmo se utilizaron múltiples configuraciones de hiperparámetros con el objetivo aplicar pruebas t-student con p-valor < 0.05 de significancia. Se confirmó que RF supera de forma significativa a los demás algoritmos. Otro hallazgo interesante es que la combinación de métricas orientadas a objetos y de complejidad permiten predecir defectos con mayor precisión que un solo un tipo de métrica. Palabras clave: Aprendizaje automático, Predicción de defectos, Pruebas de software, Métricas de software.

Palabras clave

Diseño de sistemas||lemb||Análisis de sistema

Citación

Recursos relacionados

Aprobación

Revisión

Complementado por

Referenciado por

Licencia Creative Commons

Excepto donde se indique lo contrario, la licencia de este ítem se describe como openAccess