logo móvil
Contáctanos

Identificación Automática de Pull-Requests Similares en los Repositorios de GitHub Usando Aprendizaje Automático

Autores: Eyal Salman, Hamzeh; Alshara, Zakarea; Seriai, Abdelhak-Djamel

Idioma: Inglés

Editor: MDPI

Año: 2022

Descargar PDF

Acceso abierto

Artículo científico
2022

Identificación Automática de Pull-Requests Similares en los Repositorios de GitHub Usando Aprendizaje Automático


Categoría

Gestión y administración

Subcategoría

Gestión de la tecnología y la inovación

Palabras clave

Plataforma de codificación social
Mecanismo de solicitud de extracción
Cambios en el código
Solicitudes de extracción similares
Esfuerzos de revisión
Algoritmos de aprendizaje automático

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 1

Citaciones: Sin citaciones


Descripción
En una plataforma de codificación social como GitHub, un mecanismo de solicitud de extracción es utilizado frecuentemente por los colaboradores para enviar sus cambios de código a los revisores de un repositorio determinado. En general, estos cambios de código son para agregar una nueva función o para corregir un error existente. Sin embargo, este mecanismo es distribuido y permite que diferentes colaboradores envíen solicitudes de extracción similares de manera no intencionada que realizan actividades de desarrollo similares. Solicitudes de extracción similares pueden ser enviadas para revisión en paralelo por diferentes revisores. Esto causará tiempo y esfuerzos de revisión redundantes. Además, complicará el proceso de colaboración. Por lo tanto, es útil asignar solicitudes de extracción similares al mismo revisor para poder decidir qué solicitud de extracción elegir en un tiempo y esfuerzo efectivos. En este artículo, proponemos agrupar solicitudes de extracción similares en clústeres para que cada clúster sea asignado al mismo revisor o al mismo equipo de revisión. Esta propuesta permite ahorrar esfuerzos y tiempo de revisión. Para ello, primero extraemos información textual descriptiva del contenido de las solicitudes de extracción para vincular solicitudes similares. Luego, empleamos la información extraída para encontrar similitudes entre las solicitudes de extracción. Finalmente, se utilizan algoritmos de aprendizaje automático (algoritmos de agrupamiento K-Means y agrupamiento jerárquico aglomerativo) para agrupar solicitudes de extracción similares. Para validar nuestra propuesta, la hemos aplicado a veinte repositorios populares de un conjunto de datos público. Los resultados experimentales muestran que el enfoque propuesto logró resultados prometedores según las métricas bien conocidas en este tema: precisión y recuperación. Además, ayuda a ahorrar tiempo y esfuerzo del revisor. Según los resultados obtenidos, el algoritmo K-Means alcanza un 94% y un 91% de valores promedio de precisión y recuperación en todos los repositorios considerados, respectivamente, mientras que el agrupamiento jerárquico aglomerativo obtiene un 93% y un 98% de valores promedio de precisión y recuperación en todos los repositorios considerados, respectivamente. Además, el enfoque propuesto ahorra tiempo y esfuerzo de revisión en promedio entre un 67% y un 91% con el algoritmo K-Means y entre un 67% y un 83% con el algoritmo de agrupamiento jerárquico aglomerativo.

Otros recursos que podrían interesarte

Temas Virtualpro