Ir al contenido

Documat


Extracción y Análisis de Información Estática Orientada a la Comprensión de Programas para Sistemas OO

  • Miranda, Enrique Alfredo [1] ; Berón, Mario Marcelo [1] ; Riesco, Daniel Edgardo [1]
    1. [1] Universidad Nacional de San Luis

      Universidad Nacional de San Luis

      Argentina

  • Localización: Ciencia y tecnología, ISSN 1850-0870, ISSN-e 2344-9217, Nº. 14, 2014, págs. 163-181
  • Idioma: español
  • DOI: 10.18682/cyt.v1i14.211
  • Enlaces
  • Resumen
    • Sin lugar a dudas, una de las tareas más complejas y que más tiempo consume en el ciclo de vida de una aplicación es la de Mantenimiento. En este entorno, las actividades que más tiempo consumen son aquellas que debe ejecutar el programador para lograr un completo entendimiento del sistema. A partir de esta necesidad, es que surge una disciplina de la Ingeniería de Software denominada Comprensión de Programas (CP). En este contexto, muchos autores afirman que un programador efectivamente comprende un programa cuando puede relacionar el Dominio del Problema con el Dominio del Programa. El primero hace referencia a la salida del sistema bajo estudio. El segundo se relaciona con los componentes del sistema utilizados para producir dicha salida. En este artículo se presenta una estrategia que asiste al programador durante el proceso de Comprensión de Programas de sistemas Orientados a Objetos (OO). Dicha estrategia realiza las siguientes tareas: i) extrae el Grafo Estático de Llamadas a Métodos (GELM), ii) aplica filtros que eliminan métodos muy relacionados con detalles de implementación, del GELM y iii) posibilita el análisis del GELM reducido, con el propósito de inferir funcionalidades. De esta manera la estrategia planteada pretende asistir al arduo proceso cognitivo que implica comprender un sistema.

  • Referencias bibliográficas
    • Bacon, D. F., y Sweeney, P. F. (1996). Fast Static Analysis of C++ Virtual Function Calls. ACM Sigplan Notices, 31(10), 324–341.
    • Ball, T. (1999). The Concept of Dynamic Analysis. En Software Engineering -ESEC/FSE99 (pp. 216–234).
    • Bennett, K., y Rajlich, V. (2000). Software Maintenance and Evolution: a Roadmap. En Proceedings of the Conference on the Future of Software...
    • Berón, M., Henriques, P., Varanda Pereira, M. J., y Uzal, R. (2007). PICS un Sistema de Comprensión e Inspección de Programas. Congreso Argentino...
    • Beron, M. (2010). Program Inspection to interconnect Behavioral and Operational Views for Program Comprehension. Ph.D Thesis Dissertation...
    • Binkley, D. (2007). Source Code Analysis: a Road Map. En 2007 Future of Software Engineering (pp. 104–119).
    • Boehm, B. (1984). Software Engineering Economics. Software Engineering, EEE Transactions on (1), 4–21.
    • Booch, G., James, R., y Jacobson, I. (2004). The Unified Software Development Process. Addison-Wesley Object Technology Series.
    • Bracha, G., Darcy, J. D., y Von Der Ahe, P. (2010, febrero 23). Introspection Support for Local and Anonymous Classes. Google Patents. (US...
    • Brandes, U. (2001). A Faster Algorithm for Betweenness Centrality*. Journal of Mathematical Sociology, 25(2), 163–177.
    • Brooks, R. (1978). Using a Behavioral Theory of Program Comprehension in Software Engineering. Proceedings of the 3rd International Conference...
    • Cornelissen, B., Zaidman, A., Holten, D., Moonen, L., van Deurse, A., y Wijk, J. (2008). Execution Trace Analysis through Massive Sequence...
    • Da Cruz, D., Henriques, P., y Pinto, J. (2009). Code Analysis: Past and Present. Proceeding of the Third International Workshop on Foundations...
    • De Lucia, A. (2001). Program Slicing: Methods and Applications. En Source Code Analysis and Manipulation, 2001. Proceedings. First IEEE International...
    • Eisenbarth, T., Koschke, R., y Simon, D. (2001). Aiding Program Comprehension by Static and Dynamic Feature Analysis. En Software Maintenance,...
    • Fielding, R. (2000). Representational State Transfer. Architectural Styles and the Design of Netowork-based Software Architecture, 76–85.
    • Gupta, R., Soffa, M. L., y Howard, J. (1997). Hybrid Slicing: Integrating Dynamic Information with Static Analysis. ACM Transactions on Software...
    • Hamou-Lhadj, A., y Lethbridge, T. (2006). Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software...
    • Lieberman, H., y Fry, C. (1995). Bridging the Gulf Between Code and Behavior in Programming. En Proceedings of the SIGCHI Conference on Human...
    • Littman, D., Pinto, J., Letovsky, S., y Soloway, E. (1987). Mental Models and Software Maintenance. Journal of Systems and Software, 7(4),...
    • Maletic, J., Leigh, J., Marcus, A., y Dunlap, G. (2001). Visualizing Object Oriented Software in Virtual Reality. En Proceedings of the 9th...
    • Murphy, G. C., Notkin, D., Griswold, W. G., y Lan, E. S. (1998). An Empirical Study of Static Call Graph Extractors. ACM Transactions on Software...
    • Nicol, G., Wood, L., Champion, M., y Byrne, S. (2001). Document Object Model (DOM) Level 3 Core Specification.
    • Pigoski, T. (1996). Practical Software Maintenance: Best Practices for Managing
    • Your Software Investment. New York, NY, USA: John Wiley & Sons, Inc.
    • Rohatgi, A., Hamou-Lhadj, A., y Rilling, J. (2008). An Approach for Mapping Features to Code Based on Static and Dynamic Analysis. En Program...
    • Rugaber, S. (1995). Program comprehension. Encyclopedia of Computer Science and Technology, 35(20), 341–368.
    • Spärck Jones, K. (2007). Automatic Summarising: the State of the Art. Information Processing & Management, 43(6), 1449–1481.
    • Storey, M.-A. (2005). Theories, Methods and Tools in Program Comprehension: Past, Present and Future. Proceedings of the 13th International...
    • Sundaresan, V., Hendren, L., Razafimahefa, C., Vallée-Rai, R., Lam, P., Gagnon, E., y Godin, C. (2000). Practical Virtual Method Call Resolution...
    • von Mayrhauser, A., y Vans, M. (1994). Comprehension Processes During Large Scale Maintenance. En Proceedings of the 16th International Conference...

Fundación Dialnet

Mi Documat

Opciones de artículo

Opciones de compartir

Opciones de entorno