Una arquitectura de analítica visual para el análisis y la comprensión de los sistemas de software

  • Antonio González-Torres Costa Rica Institute of Technology and ULACIT
  • José Navas-Sú Instituto Tecnológico de Costa Rica
  • Marco Hernández-Vásquez Instituto Tecnológico de Costa Rica
  • Franklin Hernández-Castro Instituto Tecnológico de Costa Rica
  • Jennier Solano-Cordero Instituto Tecnológico de Costa Rica
Palabras clave: Análisis de Código, minería de repositorios, visualización de software, métricas.

Resumen

La analítica visual facilita la creación de conocimiento para interpretar tendencias y relaciones que permitan una mejor toma de decisiones. Sin embargo, no se ha utilizado para la comprensión de los sistemas de software y el proceso de cambio durante su desarrollo y mantenimiento. Esto ocurre a pesar de la necesidad de los administradores y desarrolladores de analizar sus proyectos, calcular la complejidad, la cohesión, el acoplamiento directo, indirecto y lógico, detectar clones, defectos y malos olores, y la comparación de revisiones individuales. Esta investigación considera la necesidad de una arquitectura extensible y escalable para incorporar métodos nuevos y existentes para recuperar el código fuente de diferentes sistemas de versiones, con el fin de hacer el análisis de programas escritos en diferentes lenguajes. La presentación de los resultados se realiza mediante representaciones visuales, incorporadas como extensiones de Eclipse y Visual Studio. En consecuencia, el objetivo de este trabajo es diseñar una arquitectura de analítica visual para el análisis y la comprensión de sistemas escritos en diferentes lenguajes y sus principales contribuciones son la especificación del diseño y los requisitos de dicha arquitectura, tomando como base las lecciones aprendidas en Maleku (González-Torres, García-Peñalvo, Therón-Sánchez y Colomo-Palacios, 2016).

Descargas

La descarga de datos todavía no está disponible.

Biografía del autor

Antonio González-Torres, Costa Rica Institute of Technology and ULACIT

Antonio González Torres cuenta con un Doctorado en Informática y Automática y un Máster Universitario en Sistemas Inteligentes de la Universidad de Salamanca (España), y cursó la Maestría en Computación e Informática y el Bachillerato en Informática Empresarial de la Universidad de Costa Rica (UCR). En la actualidad es profesor investigador en el Tecnológico de Costa Rica y la ULACIT, coordina el proyecto AVIB y cuenta con 20 años de experiencia profesional tanto en la industria como la academia. Como parte de su trabajo de investigación ha publicado 25 artículos, los cuales han aparecido en proceedings de conferencias y revistas científicas internacionales.

José Navas-Sú, Instituto Tecnológico de Costa Rica

José Navas Sú es profesor investigador en el Tecnológico de Costa Rica (TEC) y cuenta con más de 25 de experiencia profesional, los cuales ha laborado, en su mayoría, en diferentes empresas de la industria de software. Su amplia experiencia lo ha llevado a participar en un gran número de proyectos que han sido puestos en producción de forma exitosa en diferentes instituciones y organizaciones. El profesor Navas se desempeña como profesor en la Escuela de Ingeniería en Computación y como investigador en el proyecto AVIB. Cuenta con el Bachillerato en Ingeniería en Computación y la Maestría Académica en Ciencias de la Computación del TEC, y en la actualidad se encuentran cursando el Doctorado en Ingeniería que imparte de forma conjunta el TEC y la UCR. 

Citas

Almugrin, S., Albattah, W., & Melton, A. (2016). Using indirect coupling metrics to predict package maintainability and testability. Journal of Systems and Software, 121, 298–310. https://doi.org/10.1016/j.jss.2016.02.024
Almugrin, S., & Melton, A. (2015). Indirect Package Coupling Based on Responsibility in an Agile, Object-Oriented Environment. In 2nd International Conference on Trustworthy Systems and Their Applications, TSA 2015 (pp. 110–119). IEEE Computer Society. https://doi.org/10.1109/TSA.2015.26
Chen, H. (2004). Toward design patterns for dynamic analytical data visualization. In Visualization and Data Analysis 2004 (Vol. 5295, pp. 75–87).
Chidamber, S. R., & Kemerer, C. F. (1994). A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20(6), 476–493. https://doi.org/10.1109/32.295895
D’Ambros, M., Gall, H. C., Lanza, M., & Pinzger, M. (2008). Analyzing software repositories to understand software evolution. In Software Evolution.
Giereth, M., & Ertl, T. (2008). Design Patterns for Rapid Visualization Prototyping. In 2008 12th International Conference Information Visualisation (pp. 569–574). https://doi.org/10.1109/IV.2008.36
Gonzalez-Torres, A. (2015, May). Evolutionary Visual Software Analytics. Department of Computer Science, University of Salamanca.
González-Torres, A., García-Peñalvo, F. J., Therón-Sánchez, R., & Colomo-Palacios, R. (2016). Knowledge discovery in software teams by means of evolutionary visual software analytics. Science of Computer Programming, 121. https://doi.org/10.1016/j.scico.2015.09.005
González-Torres, A., García-Peñalvo, F. J., Therón, R., González-Torres agtorres@usal.es, A., García-Peñalvo theron@usal.es, F. J. ., & Therón fgarcia@usal.es, R. (2013). Human–computer interaction in evolutionary visual software analytics. Computers in Human Behavior, 29(2), 486–495. https://doi.org/http://dx.doi.org/10.1016/j.chb.2012.01.013
Gonzalez-Torres, A., Navas-Su, J., Hernandez-Vasquez, M., Solano-Cordero, J., Herna, & Ndez-Castro, F. (2018). A Proposal towards the Design of an Architecture for Evolutionary Visual Software Analytics. In 2018 International Conference on Information Systems and Computer Science (INCISCOS) (pp. 269–276). https://doi.org/10.1109/INCISCOS.2018.00046
Hassan, A. E. (2005). Mining software repositories to assist developers and support managers. University of Waterloo, Waterloo, Ont., Canada, Canada.
Heer, J., & Agrawala, M. (2006). Software Design Patterns for Information Visualization. IEEE Transactions on Visualization and Computer Graphics, 12(5), 853–860. https://doi.org/10.1109/TVCG.2006.178
Kagdi, H., Collard, M. L., & Maletic, J. I. (2007). A survey and taxonomy of approaches for mining software repositories in the context of software evolution. Journal of Software Maintenance and Evolution: Research and Practice, 19(2), 77–131.
Keim, D. A., Kohlhammer, J., Ellis, G., & Mansmann, F. (2010). Mastering the Information Age - Solving Problems with Visual Analytics. Eurographics Association. Retrieved from https://books.google.co.cr/books?id=rKxOMQAACAAJ
Lanza, M., & Marinescu, R. (2006). Object-Oriented Metrics in Practice. Berlin, Heidelberg: Springer-Verlag Berlin Heidelberg. https://doi.org/10.1007/3-540-39538-5
Lehman, M. M. M., Ramil, J. F., Wernick, P. D., Perry, D. E., & Turski, W. M. (1997). Metrics and Laws of Software Evolution - The Nineties View. In Proceedings of the 4th International Symposium on Software Metrics (p. 20--). Washington, DC, USA: IEEE Computer Society. Retrieved from http://dl.acm.org/citation.cfm?id=823454.823901
McCabe, T. J. (1976). A Complexity Measure. IEEE Transactions on Software Engineering, SE-2(4), 308–320. https://doi.org/10.1109/TSE.1976.233837
Mens, T., & Demeyer, S. (Eds.). (2008). Software Evolution. Springer.
Murakami, H. (2013). Type-3 Code Clone Detection Using The Smith-Waterman Algorithm. Osaka University.
Murakami, H., Hotta, K., Higo, Y., Igaki, H., & Kusumoto, S. (2012). Folding repeated instructions for improving token-based code clone detection. In IEEE 12th International Working Conference on Source Code Analysis and Manipulation, SCAM 2012 (pp. 64–73). IEEE Computer Society. https://doi.org/10.1109/SCAM.2012.21
North, C., & Shneiderman, B. (2000). Snap-together visualization: can users construct and operate coordinated visualizations. International Journal of Human-Computer Studies, 53(5), 715–739. https://doi.org/10.1006/ijhc.2000.0418
OMG. (2011). Architecture-driven Modernization: Abstract Syntax Tree Metamodel (ASTM), v1.0. Retrieved from http://www.omg.org/spec/ASTM
OMG. (2016, September). Architecture-Driven Modernization: Knowledge Discovery Meta-Model (KDM), v1.4. Retrieved from https://www.omg.org/spec/KDM/1.4/
Pérez-Castillo, R., de Guzmán, I. G.-R., & Piattini, M. (2011). Knowledge Discovery Metamodel-ISO/IEC 19506: A Standard to Modernize Legacy Systems. Comput. Stand. Interfaces, 33(6), 519–532. https://doi.org/10.1016/j.csi.2011.02.007
Sadowski, C., van Gogh, J., Jaspan, C., Söderberg, E., & Winter, C. (2015). Tricorder: Building a Program Analysis Ecosystem. In Proceedings of the 37th International Conference on Software Engineering - Volume 1 (pp. 598–608). Piscataway, NJ, USA: IEEE Press. Retrieved from http://dl.acm.org/citation.cfm?id=2818754.2818828
Schwarz, N. (2014). Scaleable Code Clone Detection. Bern University.
SciTools. (2018, July). Understand.
Shneiderman, B. (1996). The eyes have it: a task by data type taxonomy for information visualizations. In Proceedings 1996 IEEE Symposium on Visual Languages (pp. 336–343). https://doi.org/10.1109/VL.1996.545307
Solanki, K., & Kumari, S. (2016). Comparative Study of Software Clone Detection Techniques. In IEEE Management and Innovation Technology International Conference (MITiCON-2016) (pp. 152–156). Bang-Saen, Thailand: IEEE Computer Society.
SonarSource. (2018, July). SonarQube Platform.
Tahir, A., & MacDonell, S. G. (2012). A systematic mapping study on dynamic metrics and software quality. In IEEE 28th International Conference on Software Maintenance (ICSM) (pp. 326–335). IEEE Computer Society. https://doi.org/10.1109/ICSM.2012.6405289
Thomas, J. J., & Cook, K. A. (2006). A visual analytics agenda. IEEE Computer Graphics and Applications, 26(1), 10–13.
Vogt, S., Nierstrasz, O., & Schwarz, N. (2014). Clone detection that scales. University of Bern.
Wang Baldonado, M. Q., Woodruff, A., & Kuchinsky, A. (2000). Guidelines for using multiple views in information visualization. In Proceedings of the working conference on Advanced visual interfaces (pp. 110–119).
Yang, H. Y. (2010). Measuring Indirect Coupling. University of Auckland.
Yang, H. Y., Tempero, E., & Berrigan, R. (2005). Detecting Indirect Coupling. In Australian Software Engineering Conference (ASWEC 2005)2 (p. 10). IEEE Computer Society.
Publicado
2019-03-29
Cómo citar
González-Torres, A., Navas-Sú, J., Hernández-Vásquez, M., Hernández-Castro, F., & Solano-Cordero, J. (2019). Una arquitectura de analítica visual para el análisis y la comprensión de los sistemas de software. Enfoque UTE, 10(1), pp. 218 - 233. https://doi.org/https://doi.org/10.29019/enfoqueute.v10n1.455
Sección
Informática, TIC, ...