Comparando mensajes de confirmación y métricas de código fuente para predecir actividades de refactorización
Autores: Sagar, Priyadarshni Suresh; AlOmar, Eman Abdulah; Mkaouer, Mohamed Wiem; Ouni, Ali; Newman, Christian D.
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Comparando mensajes de confirmación y métricas de código fuente para predecir actividades de refactorización
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Software
Palabras clave
Refactorización
Métricas de código
Predicción
Clasificadores
Proyectos Java
Precisión
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 27
Citaciones: Sin citaciones
Entender cómo los desarrolladores refactorizan su código es fundamental para apoyar el proceso de mejora del diseño del software. Este documento investiga en qué medida las métricas de código son buenos indicadores para predecir la actividad de refactorización en el código fuente. Para llevar a cabo esto, formulamos la predicción de los tipos de operaciones de refactorización como un problema de clasificación multiclase. Nuestra solución se basa en medir métricas extraídas de los cambios de código comprometidos para extraer las características correspondientes (es decir, variaciones de métricas) que representan mejor cada clase (es decir, tipo de refactorización) para predecir automáticamente, para un commit dado, el tipo de refactorización a nivel de método que se está aplicando, a saber, , , , , , y . Comparamos varios clasificadores, en términos de su rendimiento de predicción, utilizando un conjunto de datos de 5004 commits y extrajimos 800 proyectos de Java. Nuestros principales hallazgos muestran que el modelo de bosque aleatorio entrenado con métricas de código resultó en la mejor precisión promedio del 75%. Sin embargo, detectamos una variación en los resultados por clase, lo que significa que algunos tipos de refactorización son más difíciles de detectar que otros.
Descripción
Entender cómo los desarrolladores refactorizan su código es fundamental para apoyar el proceso de mejora del diseño del software. Este documento investiga en qué medida las métricas de código son buenos indicadores para predecir la actividad de refactorización en el código fuente. Para llevar a cabo esto, formulamos la predicción de los tipos de operaciones de refactorización como un problema de clasificación multiclase. Nuestra solución se basa en medir métricas extraídas de los cambios de código comprometidos para extraer las características correspondientes (es decir, variaciones de métricas) que representan mejor cada clase (es decir, tipo de refactorización) para predecir automáticamente, para un commit dado, el tipo de refactorización a nivel de método que se está aplicando, a saber, , , , , , y . Comparamos varios clasificadores, en términos de su rendimiento de predicción, utilizando un conjunto de datos de 5004 commits y extrajimos 800 proyectos de Java. Nuestros principales hallazgos muestran que el modelo de bosque aleatorio entrenado con métricas de código resultó en la mejor precisión promedio del 75%. Sin embargo, detectamos una variación en los resultados por clase, lo que significa que algunos tipos de refactorización son más difíciles de detectar que otros.