Browsing by Author "Uzal, Roberto"
Now showing 1 - 10 of 13
Results Per Page
Sort Options
- Comprensión de algoritmos de ruteoPublication . Berón, Mario; Henriques, Pedro Rangel; Pereira, Maria João; Uzal, RobertoLa comprensión de programas es un área de la Ingeniería del Software que se encarga del estudio y construcción de modelos y herramientas con el objetivo de facilitar el mantenimiento, la modificación y el estudio de aplicaciones de informática. En este artículo presentamos los trabajos realizados, en el contexto de la comprensión de programas, destinados a analizar la posibilidad de aplicar las estrategias de comprensión de programas a los algoritmos de Ruteo Geométrico. Las tareas fueron llevadas a cabo siguiendo cuatro líneas de trabajo bien definidas. La primera consistió en el estudio de diferentes herramientas de comprensión de programas con el objeto de establecer un ranking y analizar las estrategias de comprensión utilizadas. La segunda se centro en la construcción de un Evaluador de Algoritmos de Ruteo con propósitos educativos y de investigación. La tercera analiza la posibilidad de adaptar estrategias de comprensión al evaluador de algoritmos para aumentar su capacidad explicativa. Finalmente, la cuarta línea se encarga de generalizar los resultados obtenidos con el evaluador con el objeto de utilizar las nuevas estrategias de comprensión definidas en sistemas en general.
- Comprensión de programas por inspección visual y animaciónPublication . Berón, Mario; Uzal, Roberto; Henriques, Pedro Rangel; Pereira, Maria JoãoPCVIA (Program Comprehension by Visual Inspection and Animation) es un proyecto de investigación que estudia la construcción de métodos, técnicas y herramientas que ayuden al ingeniero del software en el análisis y comprensión de aplicaciones. Estos estudios tienen como objetivo contribuir en distintas actividades de la Ingenieria del Software como por ejemplo mantenimiento, reingenieria, ingenieria reversa, entre otras tantas aplicaciones. Para construir ambientes de comprensión de programas es necesario concebir herramientas que permitan extraer y visualizar información de los sistemas. Para lograr este objetivo es necesario analizar los métodos, técnicas, herramientas, etc. existentes con el objetivo de incrementar la funcionalidad de las mismas, o bien, proponer otras nuevas. En este artículo describimos un abordage para la construcción de herramientas de comprensión que se basa en la instrumentación del código fuente del sistema de estudio. Entre los objetivos de esta aproximación se encuentran la elaboración de estrategias de navegación y relación entre las distintas perspectivas de un sistema desarrollado usando el paradigma imperativo. Por otra parte se planifica analizar la extensibilidad de las mismas a otros paradigmas como por ejemplo el orientado a objeto.
- Estrategias para facilitar la comprensión de programasPublication . Berón, Mario; Uzal, Roberto; Henriques, Pedro Rangel; Pereira, Maria JoãoLa Comprensión de Programas es una disciplina de la Ingeniería de Software cuyo objetivo es proveer Modelos, Métodos, Técnicas y Herramientas para facilitar el estudio y entendimiento de los sistemas de software. A través de un extenso estudio y experiencia en el desarrollo de productos de comprensión se pudo comprobar que el principal desafío en esta área consiste en: Relacionar el Dominio del Problema con el Dominio del programa. El primero hace referencia a la salida del sistema. El segundo a las componentes de software usadas para producir dicha salida. La construcción de este tipo de relación es muy compleja e implica el estudio de disciplinas tales como: Modelos Cognitivos, Visualización de Software, Estrategias de Interrelación de Dominios y Métodos de Extracción de la Información. En este artículo se presentan líneas de investigación cuyos objetivos son: • Analizar los productos de comprensión existentes. • Construir productos innovadores basados en los conceptos comunes a las grandes áreas mencionadas en el paragrafo anterior.
- Evaluation criteria of software visualization systems used for program comprehensionPublication . Berón, Mario; Cruz, Daniela; Pereira, Maria João; Henriques, Pedro Rangel; Uzal, RobertoThe program understanding task is usually very time and effort consuming. In a traditional way the code is inspected line by line by the user without any kind of help. But this becomes impossible for larger systems. Some software systems were created in order to generate automatically explanations, metrics, statistics and visualizations to describe the syntax and the semantics of programs. This kind of tools are called Program Comprehension Systems. One of the most important feature used in this kind of tool is the software visualization. We feel that it would be very useful to define criteria for evaluating visualization systems that are used for program comprehension. The main objective of this paper is to present a set of parameters to characterize Program Comprehension-Oriented Software Visualization Systems. We also propose new parameters to improve the current taxonomies in order to cover the visualization of the Problem Domain.
- Herramientas para la comprensión de programasPublication . Berón, Mario; Henriques, Pedro Rangel; Pereira, Maria João; Uzal, RobertoLa comprensión de programas es un área de la Ingeniería del Software que se encarga del estudio y construcción de modelos y herramientas con el objetivo de facilitar el mantenimiento, la modificación y el estudio de aplicaciones de informática. En este artículo presentamos una línea de investigación que aborda esta temática siguiendo tres pasos. El primero analiza los modelos cognitivos. El segundo estudia las herramientas actuales. El tercero examina la posibilidad de aplicación de las técnicas de comprensión de programas a los algoritmos de ruteo. El análisis de los modelos cognitivos permitirá la elaboración de parámetros para analizar las herramientas de comprensión. El estudio de las aplicaciones existentes posibilitará conocer los modelos y estrategias utilizados por esta clase de aplicaciones. Finalmente, pensamos que la aplicación de las técnicas de comprensión de programas a los algoritmos de ruteo será un aporte para la generación de visiones innovadoras de los sistemas informáticos.
- Inspección de código para relacionar los dominios del problema y programa para la comprensión de programasPublication . Berón, Mario; Uzal, Roberto; Henriques, Pedro Rangel; Pereira, Maria JoãoLa Comprensión de Programas es una disciplina de la Ingeniería de Software cuyo objetivo es proveer métodos, técnicas y herramientas para facilitar el estudio y entendimiento de programas. La construcción de estos productos de comprensón implica el estudio de disciplinas tales como Ciencias Cognitivas, Visualización de Software y Métodos de Extracción de la Información. En este artículo se presenta una línea de investigación cuyo objetivo es analizar productos de comprensión existentes y construir otros nuevos basados en los conceptos comunes a las tres grandes áreas mencionadas en el páragrafo anterior.
- Instrumentaciones de programas escritos en C para interrelacionar las vistas comportamental y operacional de los sistemas de softwarePublication . Berón, Mario; Henriques, Pedro Rangel; Pereira, Maria João; Uzal, RobertoLa Comprensión de Programas es una disciplina de la Ingenier´ýa de Software cuyo principal objetivo es simplificar la comprensión de los sistemas de software. Una forma de alcanzar esta finalidad consiste en el desarrollo de estrategias de comprensión que permitan relacionar el Dominio del Problema, es decir el comportamiento del sistema, con el Dominio del Programa, o sea las construcciones del lenguaje de programacion utilizadas en la implementación del programa. La creación de este tipo de estrategias requiere de la: i) Definición de representaciones de los Dominios del Problema y Programa; ii) Elaboración de un procedimiento que vincule ambas representaciones y iii) Recuperación de información estática y dinámica del sistema. En este art´ýculo, se describe una estrategia que recupera información dinámica con el propósito de facilitar la elaboración e implementación de estrategias de comprensión. Además, se presenta SVS (S imultaneous V isualization S trategy), un estrategia que permite relacionar los Dominios del Problema y Programa por medio de la utilización de información de tiempo de ejecución.
- A language processing tool for program comprehensionPublication . Berón, Mario; Henriques, Pedro Rangel; Pereira, Maria João; Uzal, Roberto; Montejano, GermánProgram Comprehension is a Software Engineering discipline which aims to understand computer code written in a high-level programming language. Program Comprehension is useful for reuse, inspection, maintenance, reverse engineering and many other activities in the context of Software Engineering. In this paper we define a set of techniques to extract static and dynamic information from the target program. These techniques are based on the inclusion of inspection functions and control statements in the system’s source code. The first are intended to show the functions actually used. The second are necessary to reduce the number of functions recovered for a better administration. We show a possible implementation of this approach using a language processor generator very useful and easy to use. Our strong motivation was to support the understanding of routing algorithms, available in EAR a routing algorithms evaluation system. To assist the program comprehension task, we generate different views that use the information extracted by our strategy, such as the routing algorithm output (that can be seen as a problem domain view), or the sequence of called functions, and their source and object code (examples of program domain views). Although specific, we intend to generalize this approach.
- PICS un sistema de comprensión e inspección de programasPublication . Berón, Mario; Henriques, Pedro Rangel; Pereira, Maria João; Uzal, RobertoLa Comprensión de Programas (CP) es un área de la Ingeniería del Software que tiene como objetivo el estudio y creación de modelos, métodos, técnicas y herramientas con la finalidad de facilitar el entendimiento de los sistemas de software. La CP es útil para mantenimiento, reingeniería, ingeniería reversa, entre otras tantas aplicaciones. Para construir herramientas de comprensión de programas es necesario concebir esquemas que permitan extraer y visualizar la información de los sistemas. PICS es una herramienta de CP basada en la presentación de diferentes perspectivas o vistas del sistema de estudio. Estas vistas tienen como propósito interrelacionar distintos dominios útiles para la comprensión. En este contexto, la principal fortaleza de PICS es alcanzar una estrecha relación entre el dominio del programa y el comportamiento del sistema. Esta relación falicita la comprensión porque permite asignar semántica a las componentes del dominio del programa. En este artículo describimos PICS, sus funcionalidades de inspección, comprensión y las estratégias implementadas en su núcleo que permiten alcanzar la interrelación de dominios. En este último caso, hacemos énfasis en la interrelación entre el dominio del programa y el comportamiento del sistema debido a la gran importancia que tiene esta relación para la CP.
- Program inspection to interconnect behavioral and operational view for program comprehensionPublication . Berón, Mario; Henriques, Pedro Rangel; Pereira, Maria João; Uzal, RobertoProgram Comprehension (PC) is a discipline of Software Engineering aimed at creating models, methods, techniques and tools, based on a learning process and engineering process, to help the engineer in getting a deeper knowledge about software systems. The learning process is concerned with the mental process followed by the programmer when he needs to understand programs. This topic is explained in the context of Cognitive Models. The engineering process includes the study of methods for: Information Extraction from Programs and Software/Data Visualization. The research in these areas allows to build Program Comprehension tools with quality. Moreover, it aids in to inter-connecting the problem domain (system behavior) and program domain (software components). This is one of the biggest challenge in PC. In this paper, we present the background and results obtained in the topics described above during a Ph.D. thesis denominated: Program Inspection to inter-connect the Operational and Behavioral Views for Program Comprehension.