Una arquitectura de analítica visual para el análisis y la comprensión de los sistemas de software
DOI:
https://doi.org/10.29019/enfoqueute.v10n1.455Palabras 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
Citas
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.
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Los artículos e investigaciones publicadas por la Universidad UTE, se realizan en régimen de Acceso Abierto [Open Access] en formato electrónico. Esto significa que todo el contenido está disponible de forma gratuita sin costo para el usuario o su institución. Los usuarios pueden leer, descargar, copiar, distribuir, imprimir, buscar o enlazar los textos completos de los artículos, o usarlos para cualquier otro propósito legal, sin necesidad de pedir permiso previo al editor o al autor. Esto está de acuerdo con la definición de acceso abierto de la Iniciativa de Acceso Abierto de Budapest (BOAI). Al enviar un artículo a cualquiera de las revistas científicas de la Universidad UTE, el o los autores aceptan estas condiciones.
La UTE aplica la licencia Creative Commons Attribution (CC-BY) a los artículos de sus revistas científicas. En virtud de esta licencia de acceso abierto, como autor usted acuerda que cualquier persona puede reutilizar su artículo en su totalidad o en parte para cualquier propósito, de forma gratuita, incluso para fines comerciales. Cualquiera puede copiar, distribuir o reutilizar el contenido siempre y cuando el autor y la fuente original estén correctamente citados. Esto facilita la libertad de reutilización y también asegura que el contenido pueda ser extraído sin barreras para necesidades de investigación.
Esta obra está bajo una Creative Commons Attribution 3.0 International (CC BY 3.0).
Además, la Revista Enfoque UTE garantiza y declara que los autores conservan siempre todos los derechos de autor y todos los derechos de publicación sin restricciones [© Los Autores]. El reconocimiento (BY) permite cualquier explotación de la obra, incluyendo una finalidad comercial, así como la creación de obras derivadas, la distribución de las cuales también está permitida sin ninguna restricción.