Identificación de hotspots mediante el análisis de históricos de proyectos usando métodos de optimización o de machine learning

  • -

Identificación de hotspots mediante el análisis de históricos de proyectos usando métodos de optimización o de machine learning

2023

Descargar propuesta de investigación completa (PDF)

Profesores: Dr. Abel García Nájera y Dr. Humberto Cervantes Maceda

Resumen: Una de las herramientas indispensables a los equipos de desarrollo son los sistemas de control de versiones, pues permiten apoyar al equipo en centralizar y versionar la base de código y evitar conflictos al realizar modificaciones al mismo. Herramientas como Git almacenan información muy valiosa al momento en que los desarrolladores realizan “commits” de los cambios. Git almacena para un commit dado la fecha, un identificador, el autor, un mensaje de resumen, así como la lista de archivos que fueron cambiados y la cantidad de líneas de código que fueron cambiadas en estos archivos. Estas bitácoras pueden ser analizadas y se pueden identificar, por ejemplo, los archivos que cambian más frecuentemente en un proyecto en un periodo dado.

Ciertos archivos a lo largo del tiempo comienzan a acumular problemas: crecen de forma desmesurada, presentan “malos olores de diseño” o bien son archivos que están involucrados frecuentemente en bugs del sistema. A estos archivos los llamaremos “hotspots” y son fuente de deuda técnica.

Objetivo general:

Aplicar métodos heurísticos de optimización o de machine learning para analizar código a lo largo del tiempo e identificar posibles hotspots.

Objetivos específicos:

  • Identificar propuestas en la literatura enfocadas en análisis del código a lo largo del tiempo con el fin de identificar hotspots
  • Proponer un método heurístico de optimización o de machine learning que permita encontrar patrones de identificación de hotspots
  • Desarrollar un prototipo de herramienta que implemente dicha técnica
  • Evaluar la efectividad de la herramienta

Ultima actualización 25/11/2022 por pcyti