next up previous
Siguiente: Antecedentes

Un Abordaje Formal para la Comprensión y Reestructuración de Software Basado
en Técnicas de Cálculo de Programas

Gustavo Villavicencio

c Facultad de Matemática Aplicada

Universidad Católica de Santiago del Estero

Resumen:

La ingeniería reversa de software o comprensión de programas es un área de la ingeniería de software que estudia los procesos (métodos, técnicas y herramientas) para la recuperación de representaciones abstractas del código fuente que contribuyan a su entendimiento. Sin embargo, los procesos actuales de comprensión de programas lejos están de suministrar resultados precisos y confiables, por cuanto se sustentan en gran medida, en parámetros intuitivos e informales como el conocimiento que los profesionales tienen del dominio de problemas. Además, los resultados obtenidos usualmente se expresan mediante representaciones ambiguas como lenguaje común, o diagramas que tienen una semántica imprecisa.
El presente proyecto, constituye la continuación de una línea de investigación en ingeniería reversa llevada adelante por la UCSE y la Universidad de Minho (Portugal), en donde la finalidad del proceso que se propone, es calcular las representaciones a partir del código fuente. De este modo, los procesos, técnicas y herramientas en los que estamos interesados tienen una sólida base formal (matemática), al igual que las representaciones en la que se expresan los resultados.
Específicamente, este proyecto, pretende investigar la aplicación de esquemas o patrones de cálculo como mecanismos para conducir el proceso de compresión de programas. Es decir, el objetivo es construir e integrar dispositivos formales que funcionen como mecanismos de ensamble o acoplamiento de las especificaciones calculadas. De este modo, al utilizar estructuras pre-existentes, el enfoque no solamente alienta el reuso, sino además, aporta rapidez y precisión al proceso de entendimiento de programas.





Gustavo E. Villavicencio 2012-06-19