Hunter: Una plataforma de reingeniería para JavaScript
Professor Advisor
Abstract
En la ingeniería de software resulta clave entender la estructura del código de un proyecto para poder implementar de forma efectiva las funcionalidades requeridas por el cliente. Sin embargo, es común en la industria que el desarrollador deba enfrentarse a bases de código que le son desconocidas y que no cuentan con una documentación adecuada; lo cual entorpece los ciclos de desarrollo y aumenta los costos. La situación en la cual se debe lidiar con código cuyos desarrolladores ya no se encuentran disponibles resulta especialmente crítica. En tal caso, el programador debe realizar un proceso de reingeniería que resulta complejo y demoroso para poder satisfacer las exigencias dadas por el negocio.
Con el objetivo de abordar dicha problemática, en este trabajo de memoria se construye un primer prototipo de HUNTER, una plataforma de reingeniería para JavaScript que permite al desarrollador explorar bases de código de forma visual e interactiva. Durante la fase de implementación se resolvieron una serie de desafíos técnicos que permitieron aplicar varios conocimientos enseñados a lo largo de la carrera sobre distintos tópicos tales como lenguajes de programación, patrones de diseño y construcción de interfaces de usuario.
Más allá de los retos técnicos enfrentados a lo largo de la confección de la herramienta, se espera que HUNTER pueda asistir al programador en la comprensión de proyectos de JavaScript con los cuales no está familiarizado. Para ello, durante la construcción de la plataforma, se llevaron a cabo pilotos con ingenieros en la industria con la finalidad de recabar feedback temprano y enfocar el desarrollo de HUNTER. Además, mediante experimentos realizados por otros investigadores, se han obtenido resultados que preliminarmente apuntarían a la utilidad de la herramienta para la exploración de proyectos de JavaScript desconocidos.
De esta forma, como resultado del presente trabajo de memoria, se obtiene una primera versión de HUNTER que facilita la comprensión de programas de JavaScript. Asimismo, se proponen diversas mejoras para esta plataforma, tales como la presentación de visualizaciones para frameworks} específicos y su extensión a otros lenguajes. Por otro lado, se plantea la interrogante de si la plataforma pudiera no solamente ayudar a la comprensión de programas desconocidos, sino también a un mejor entendimiento de un sistema con el que el desarrollador ya estuviese familiarizado.
General note
Memoria para optar al título de Ingeniero Civil en Computación
Identifier
URI: https://repositorio.uchile.cl/handle/2250/170713
Collections
The following license files are associated with this item: