Quixote
-
Development of Problem Domain Models to Interconnect the Behavioral and Operational Views to Aid in Software Systems Comprehension







Mais um D. Quixote




Goals

Program Comprehension is an important task for Software Maintenance, because it helps to reach a deeper knowledge about the software system and its components.
In the last three decades, the research and development in Program Comprehension Area  was based in  the Program Domain. Many techiques and algorithms were used to extract and explore dynamic and static information from source code. Code analysis, slicing and visualization techniques were refined to allow comprehending the execution flow of control information.

However, the activities mentioned in the precedent paragraph are not enough for comprehending a software system. A mapping between internal actions (Program Domains) and the external effects (Problem Domain) is needed. So, this project is concerned with the formal characterization of Problem Domain and its relation with Program Domain for improving Program Comprehension.

The specific goals are:
  1. To characterize the Problem  Domain and  to identify models.
  2. To adapt the traditional visualization systems for visualizing the Problem Domain and its mapping with Program Domain.

Tasks

In order to reach the proposed goals, the following tasks will be carried out:

Methodology

To comprehend a software system, a mapping between the internal operations and the effects produced by these operations in the Problem Domaind must be built. The first one, Program Domain, is an area well studied (because it is a requirement for building compilers with code optimizations), the second one, Problem Domain, will have to be modeled too. 
For these reasons, we will use formal specifications for
characterizing completely and rigorously this domain. This formalization makes possible to define several models for describing the Problem Domain following a similar way to the steps used for charecterizing the Program Domain. This work aims at indentifing information sources, related with each kind of applications, useful for extracting data to build models.
Initially Dictionaries, Thesaurus, Ontologies/Conceptual Maps, etc. will be considered as Problem Models. However other models will be needed for specifying processes.
As Program Models, the UML diagrams, Control Flow Graphs, Decorated Abstract Syntax Trees, Identifier Tables, and Data Dictionaries, will be used. From the model selection and the definition of the strategy to automatically building them, using descriptions or code analysis, two task will be needed:


Project Team



Working Visits

  1. San Luis (Argentina) from 2010-11-22 to 2010-11-28: Travel Report
  2. Braga (Portugal) from 2011-02-02 to 2011-02-16: Travel Report
  3. San Luis (Argentina) from 2012-01-30 to 2012-02-05: Travel Report
  4. Braga (Portugal) from 2012-02-10 to 2012-02-24: Travel Report

Results

  1. Béron M., Pereira M.J., Oliveira N., Cruz D., SVS, BORS, SVSi:Three Strategies to relate Problem and Program Domains, ICPC 2010 - 18th IEEE International Conference on Program Comprehension, Braga, 2010.
  2. Oliveira N., Pereira M.J., Cruz D., Beron M., Inuence of Synchronized Domain Visualizations on Program Comprehension, Working Session, ICPC 2010 - 18th IEEE International Conference on Program Comprehension, Braga, 2010.
  3. Berón M., Uzal R., Henriques P., Pereira M.J., Estrategias para Facilitar la Comprensión de Programas, WICC 2010 - XII Workshop de Investigadores en Ciencias de la Computación, Universidad Nacional de la Patagonia San Juan Bosco, Argentina.
  4. Enrique Miranda, Mario Berón , Germán Montejano, Daniel Riesco, Pedro Henriques, Maria João Varanda Pereira, “Visualización de software: conceptos, métodos y técnicas para facilitar la comprensión de programas” , XIII Workshop de Investigadores en Ciencias de la Computación, Rosario, Argentina, Maio 2011.

  5. Hernán Bernardis,  Mario Berón , Daniel Riesco, Pedro Henriques, Maria João Varanda Pereira, “Extracción de información dinámica en programación orientada a objetos (Java)“, XIII Workshop de Investigadores en Ciencias de la Computación, Rosario, Argentina, Maio 2011.

  6. Ignacio El Kadre,  Mario Berón , Carlos Salgado, Mario Peralta, Pedro Henriques, Maria João Varanda Pereira, “Construcción de representaciones del dominio del programa para facilitar la interconexión de dominios” , XIII Workshop de Investigadores en Ciencias de la Computación, Rosario, Argentina, Maio 2011.

  7. Martín Aristiaran,  Mario Berón , Pedro Henriques, Maria João Varanda Pereira, “Clasificaciones: un mecanismo de herencia múltiple para la construcción de modelos fáciles de comprender y mantener” , XIII Workshop de Investigadores en Ciencias de la Computación, Rosario, Argentina, Maio 2011.

  8. José Albanes,  Mario Berón , Pedro Henriques, Maria João Varanda Pereira, “Estrategias para relacionar el dominio del problema con el dominio del programa para la comprensión de programas” , XIII Workshop de Investigadores en Ciencias de la Computación, Rosario, Argentina, Maio 2011.

  9. Mariano Luzza,  Mario Berón , Germán Montejano, Pedro Henriques, Maria João Varanda Pereira, “Diseño y Construcción de Lenguajes Específicos del Dominio” , XIII Workshop de Investigadores en Ciencias de la Computación, Rosario, Argentina, Maio 2011.

  10. Enrique Miranda, “Evaluación de Funcionalidades de Visualización de Software Provistas por Librerías Gráficas”, JAIIO 2011- Simposio Argentino de Ingeniería de Software, Universidad Tecnológica Nacional - Facultad Regional Córdoba, Argentina, Agosto de 2011.

  11.  Hernan Bernardis, “Instrumentación de Programas Escritos en Java para Interconectar los Dominios del Problema y del Programa”, JAIIO 2011- Simposio Argentino de Ingeniería de Software, Universidad Tecnológica Nacional - Facultad Regional Córdoba, Argentina, Agosto de 2011.
  12. José Luís Freitas and Daniela da Cruz and Pedro Rangel Henriques, “The role of Comments on Program Comprehension”, INForum'11, Simpósio de Informática (CoRTA'11 track), Universidade de Coimbra, Coimbra, Portugal, Setembro, 2011

Financial Support


Last Update: 2012-feb-14