A visual analytics architecture for the analysis and understanding of software systems

  • Antonio González-Torres Costa Rica Institute of Technology and ULACIT
  • José Navas-Sú Costa Rica Institute of Technology and ULACIT
  • Marco Hernández-Vásquez Costa Rica Institute of Technology and ULACIT
  • Franklin Hernández-Castro Costa Rica Institute of Technology and ULACIT
  • Jennier Solano-Cordero Costa Rica Institute of Technology and ULACIT
Keywords: Code analysis, repository mining, software visualization, metrics.

Abstract

Visual analytics facilitates the creation of knowledge to interpret trends and relationships for better decision making. However, it has not being used widely for the understanding of software systems and the change process that takes place during their development and maintenance. This occurs despite the need of project managers and developers to analyze their systems to calculate the complexity, cohesion, direct, indirect and logical coupling, detect clones, defects and bad smells, and the comparison of individual revisions. This research considers the design of an extensible and scalable architecture to incorporate new and existing methods to retrieve source code from different versioning systems, to carry out the analysis of programs in different languages, to perform the calculation of software metrics and to present the results using visual representations, incorporated as Eclipse and Visual Studio extensions. Consequently, the aim of this work is to design a visual analytics architecture for the analysis and understanding of systems in different languages and its main contributions are the specification of the design and requirements of such architecture, taking as base the lessons learned in Maleku (A. González-Torres et al., 2016).

Downloads

Download data is not yet available.

Author Biographies

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ú, Costa Rica Institute of Technology and ULACIT

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. 

References

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.
Published
2019-03-29
How to Cite
González-Torres, A., Navas-Sú, J., Hernández-Vásquez, M., Hernández-Castro, F., & Solano-Cordero, J. (2019). A visual analytics architecture for the analysis and understanding of software systems. Enfoque UTE, 10(1), pp. 218 - 233. https://doi.org/https://doi.org/10.29019/enfoqueute.v10n1.455
Section
Computer Science, ICTs