Ingeniero Civil en Computación / 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.
Identifer | oai:union.ndltd.org:UCHILE/oai:repositorio.uchile.cl:2250/137753 |
Date | January 2015 |
Creators | Correa Gaete, Gabriel Andrés Josué |
Contributors | Robbes, Romain, Facultad de Ciencias Físicas y Matemáticas, Departamento de Ciencias de la Computación, Pérez Rojas, Jorge, Poblete Labra, Bárbara |
Publisher | Universidad de Chile |
Source Sets | Universidad de Chile |
Language | Spanish |
Detected Language | Spanish |
Type | Tesis |
Rights | Atribución-NoComercial-SinDerivadas 3.0 Chile, http://creativecommons.org/licenses/by-nc-nd/3.0/cl/ |
Page generated in 0.0124 seconds