Trabajo de grado - Maestría
Minería de imágenes en repositorios de proyectos de Software soportada por Machine Learning
Fecha
2023Autor
Rodríguez Torres, Sergio Andrés
Resumen
Este documento presenta un análisis enfocado a los diagramas de software en repositorios Git. Para el análisis se construyó un dataset con 5.981 imágenes con las categorías none, diagrama de actividades, diagrama de secuencia, diagrama de clases, diagrama de componentes, diagrama de casos de uso y diagramas cloud. Dicho dataset se usó para el entrenamiento de una red convolucional DenseNet169 pre-entrenada con el dataset ImageNet usando la técnica de transfer learning. La red alcanzó una exactitud en la predicción del 98.6 % y un f1-score de 98.3 %. Luego se usaron técnicas de minería de repositorios para analizar 2’469.206 imágenes equivalentes a 231 GB en datos, obtenidas de 287.201 repositorios. Con el fin de conocer que tan común es cargar imágenes de diagramas, cómo se distribuyen en los repositorios de software y cada cuanto se actualizan. This document presents an analysis focused on software diagrams in Git repositories. For the analysis, a dataset was built with 5,981 images with the categories none, activity diagram, sequence diagram, class diagram, component diagram, use case diagram, and cloud diagrams. The dataset was used to train a DenseNet169 convolutional neural network pre-trained with the ImageNet dataset using the transfer learning technique complemented with fine-tuning. The network achieved a prediction accuracy of 98.6% and an f1-score of 98.3%. Repository mining techniques were then used to analyze 2,469,206 images equivalent to 231 GB of data, obtained from 287,201 repositories. To know how common it is to upload diagram images, their distribution in the repositories, and the update frequency.