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...
Archivos
Entrevistado
Entrevistador
Fecha de la entrevista
Fecha
Autores
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
