Soporte para el desarrollo incremental en eclipse:|buna implementación robusta de Ghosts
Professor Advisor
dc.contributor.advisor
Tanter, Éric
Author
dc.contributor.author
Jacas Franzoy, Ricardo Manuel
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
Hevia Angulo, Alejandro
Associate professor
dc.contributor.other
Calderón Corail, Marcela
Admission date
dc.date.accessioned
2014-09-15T19:39:35Z
Available date
dc.date.available
2014-09-15T19:39:35Z
Publication date
dc.date.issued
2014
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/116863
General note
dc.description
Ingeniero Civil en Computación
Abstract
dc.description.abstract
Los ambientes de desarrollo, o IDE por su sigla en inglés, representan una ayuda fundamental para el programador. La mayoría de estos ambientes suelen integrar un sin fin de herramientas para facilitar el trabajo, como son el reporte estático de errores y los asistentes de autocompletado de código. Dentro de los ambientes de desarrollo disponibles para Java, Eclipse destaca por ser uno de los ambientes más completos. Eclipse, al igual que muchos entornos de desarrollo, cuenta con alertas de error en tiempo de compilación, alertas que permiten que el programador no incurra en errores por omisión de código.
En la actualidad es frecuente el uso de metodologías ágiles para el desarrollo de aplicaciones. Dentro de estas metodologías destacan las técnicas orientadas al buen diseño, como son el Desarrollo Guiado por Pruebas (o TDD) y la programación Top-Down, técnicas en las cuales se definen las interfaces mediante las que se utiliza el código de manera previa a la implementación real del funcionamiento. Estas técnicas permiten reducir la tasa de error del código generado al estar enfocado primero en el objetivo (¿Qué funcionalidad provee?,¿Cómo se usa?) y luego en la implementación (¿Cómo realizar dicha funcionalidad?).
Desgraciadamente, la programación Top-Down y TDD no están soportadas de manera adecuada en los IDE cotidianos, como Eclipse, puesto que el reporte de errores estático suele interferir fuertemente con la estructuración de código previa a su implementación, reportando al usuario muchos errores de los cuales está perfectamente consciente y que no aportan, errores del estilo dicha entidad no existe''. Estos errores además oscurecen o deshabilitan por completo el reporte de otros errores que sí son de interés para el programador, como lo es el uso inconsistente de una interfaz.
Durante el transcurso de esta memoria se continuo el desarrollo de un plug-in para Eclipse, llamado Ghosts, que se encarga de atacar esta problemática, entregando un ambiente preparado para el uso de técnicas que requieren pensar primero en la interfaz y luego en la implementación. Este plug-in está basado en la noción de detectar aquellas entidades no definidas en el código y ordenar correctamente la información contextual que se puede recabar de ellas, utilizando únicamente el código provisto por el programador. Además de su desarrollo, el presente trabajo concluye con una versión que soluciona parcialmente el problema, dejando de lado exclusivamente las características más modernas del lenguaje Java, y se presentan las posibles alternativas de extensión y sus ventajas comparativas de acuerdo a los resultados obtenidos.