Text mining aplicado a documentación de API para la detección de directivas
Professor Advisor
dc.contributor.advisor
Robbes, Romain
Author
dc.contributor.author
Correa Gaete, Gabriel Andrés Josué
Staff editor
dc.contributor.editor
Facultad de Ciencias Físicas y Matemáticas
Staff editor
dc.contributor.editor
Departamento de Ciencias de la Computación
Associate professor
dc.contributor.other
Pérez Rojas, Jorge
Associate professor
dc.contributor.other
Poblete Labra, Bárbara
Admission date
dc.date.accessioned
2016-04-12T20:22:44Z
Available date
dc.date.available
2016-04-12T20:22:44Z
Publication date
dc.date.issued
2015
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/137753
General note
dc.description
Ingeniero Civil en Computación
Abstract
dc.description.abstract
En esta memoria de Título se estudia la factibilidad de detectar directivas de API usando herramientas de Machine Learning y Text Mining. Las directivas son instrucciones importantes sobre el correcto uso de una API junto con restricciones y precauciones para prevenir errores. Sin embargo, existe la necesidad de destacar las directivas ya que pueden pasar desapercibidas para los desarrolladores de software. El objetivo general de este trabajo es diseñar e implementar un sistema de detección semi-automático de directivas de API. En este proyecto se realiza una búsqueda de los mejores algoritmos de Machine Learning para detectar las directivas de una API.
Se realizaron una serie de experimentos de Text Mining para evaluar la precisión de algoritmos que intentan separar las frases de una documentación en directivas y en no-directivas. Previo a la realización de los experimentos, fue necesario reunir una colección de directivas y de no-directivas, requeridos para entrenar los programas de Machine Learning. Para facilitar la recopilación de estos datos, se implementó Comments Highlighter o CHi: una aplicación web que ayuda a buscar y destacar manualmente las directivas de una API. De este modo, se utilizó la herramienta implementada para reunir los datos precisados por los algoritmos de clasificación y posteriormente se realizaron pruebas para medir el rendimiento de la detección automática de directivas. Luego, la habilidad de detectar las directivas es agregada a la aplicación, y como la detección no es perfecta, los errores pueden ser corregidos manualmente usando CHi. Es por esto que el sistema es denominado como una solución semi-automática.
Los resultados demuestran que es factible detectar directivas usando clasificadores de Machine Learning. Además, se hacen pruebas variando el tamaño de los datos usados para entrenar los clasificadores, obteniendo información sobre cuántas muestras es necesario reunir para lograr un porcentaje satisfactorio de directivas detectadas. Finalmente se observa que hay dos algoritmos que funcionan significativamente mejor que los otros y uno de ellos es agregado a las funcionalidades de CHi.