Método automático para la generación de comentarios de commit
1. Diseñando un método para generar
sugerencias de mensajes de commit
automáticamente basado en técnicas de
procesamiento de lenguaje natural
Autor: Luis Fernando Cortes Coy
Director: Jairo Aponte y Mario Linares Vasquez
Grupo de investigación: ColSWE
6. Justificación (3)
Peter Hallam. What do programmers really do
anyway?. Microsoft Developer Network- C#
compiler.2006.
2%
20%
78%
New code
Modifying existing
Understanding code
7. Justificación (4)
Es importante mantener la historia de un software para reconstruir las
intenciones originales, y los cambios posteriores.
8. Justificación (5)
Cómo los desarrolladores documentan los cambios
realizados al código fuente?
“Bug 494847 - Kill MTBF, r=dbaron”
(Phil Ringnalda - Mozilla)
“A11Y issue #77407 fixed.”
(ppis@netbeans.org - Netbeans)
“empty”
(author - Chrome)
“The same issue as in #41049”
(ppisl@netbeans.org - Netbeans)
9. Definición del problema
Cómo generar automáticamente el comentario del
commit para resolver el problema de la existencia de
comentarios vacíos o no descriptivos en los sistemas
de control de versiones?
11. Objetivo general
Diseñar una método basado en técnicas de
procesamiento de lenguaje natural para generar
automáticamente sugerencias del comentario del
commit en aplicaciones Java
12. Objetivos específicos (1)
●
Identificar y estudiar técnicas
➢
Análisis sintáctico del código fuente.
➢
Análisis semántico
➢
Procesamiento de lenguaje natural.
●
Identificar cuales técnicas del estudio previo son útiles
en la generación automática del comentario del
commit.
13. Objetivos específicos (2)
●
Construir una herramienta utilizando el método
diseñado.
●
Evaluar la utilidad del comentario de commit
generado por la herramienta
15. Proceso (1)
1. Realizar la revisión sistemática de la literatura
relacionada con:
➢
Análisis sintáctico.
➢
Análisis semántico.
➢
Generación de resúmenes de texto y código fuente.
➢
Procesamiento del lenguaje natural.
2. Análisis de las técnicas encontradas.
16. Proceso (2)
3. Establecer la información que es útil y necesaria en el
mensaje del commit para que este sea útil y relevante.
4. Diseñar el método de generación automática de
comentarios de commit.
5. Identificar y seleccionar un IDE y un VCS.
17. Proceso (3)
6. Construir una herramienta que implemente el
método diseñado.
7. Diseñar y aplicar un caso de estudio para evaluar la
utilidad del método creado.