Software visualization based on the Little House model

  • Gabriel Lage Calegari CEFET-MG
  • Kecia Aline Marques Ferreira CEFET-MG

Abstract


Developing and keeping the software systems with high quality are difficult tasks. The low understanding of the software structures and the complexity of analysing the impacts of changes in a software system are important impediments to a software evolve without substantial deteriorations. The graphical visualization of the system and its properties – modules, relationship between modules, metrics of modules, metrics of relationships between modules – may allow to better identify possible needs for refactoring, therefore, attenuate the process of deterioration. Aiming to contribute to overcome this issue, a previous work of one of the authors of this paper has defined a model, called Little House, which consists of a macroscopic picture of the object oriented software structures, based on the bow-tie model that describes the Web. Little House represents a software system as a network which can be partitioned in 6 components. The goal of this work is to develop algorithms to this model and create a software visualization tool that shows the software networks based in Little House.
Keywords: Little House, software, Preview

References

Batagelj, V. and Mrvar, A. (2010). Pajek: Program for large network analysis. URL:http://vlado.fmf.uni-lj.si/pub/networks/pajek/..

Baxter, G., Frean, M., Noble, J., Rickerby, M., Smith, H., Visser, M., Melton, H., and Tempero, E. (2006). Understanding the shape of java software. In OOPSLA ’06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 397–412, New York, NY, USA. ACM.

Broder, A., Kumar, R., Maghoul, F., Raghavan, P., Rajagopalan, S., Stata, R., Tomkins, A., and Wiener, J. (2000). Graph structure in the web. Comput. Netw., 33(1-6):309–320.

Canfora, G. and Cimitile, A. (1995). Software maintenance. In Proc. 7th Int. Conf.Software Engineering and Knowledge Engineering, pages 478–486.

Donato, D., Leonardi, S., Millozzi, S., and Tsaparas, P. (2008). Mining the inner structure of the web graph. Journal of Physics A: Mathematical and Theoretical, 41(22):224017.

Ducasse, S. and Lanza, M. (2005). The class blueprint: visually supporting the understanding of glasses. Software Engineering, IEEE Transactions on, 31(1):75–90.

Ferreira, K. A. M. (2011). Um Modelo de Predic ̧ao de Amplitude da Propagação de Modificações Contratuais em Software Orientado por Objetos. PhD thesis, Universidade Federal de Minas Gerais.

Ferreira, K. A. M., Bigonha, M., Bigonha, R. S., and Gomes, B. M. (2011). Software evolution characterization-a complex network approach. X Brazilian Simposium on Software Quality-SBQS, pages 41–55.

Ferreira, K. A. M., Moreira, R. C. N., and Bigonha, M. A. S. (2012a). Identificação de padroes de caracterısticas estruturais em software orientado a objetos. In XI SBQS Simposio Brasileiro de Qualidade de Software, pages 1–15.

Ferreira, K. A. M., Moreira, R. C. N., Bigonha, M. A. S., and Bigonha, R. S. (2012b).The evolving structures of software systems. In Emerging Trends in Software Metrics (WETSoM), 2012 3rd International Workshop on, pages 28–34.

Ferreira, K. A. M., Moreira, R. C. N., Bigonha, M. A. S., and Bigonha, R. S. (2012c). A generic macroscopic topology of software networks - a quantitative evaluation. In Software Engineering (SBES), 2012 26th Brazilian Symposium on, pages 161–170.

Finnigan, P. J., Holt, R. C., Kalas, I., Kerr, S., Kontogiannis, K., Muller, H. A., Mylopoulos, J., Perelgut, S. G., Stanley, M., and Wong, K. (1997). The software bookshelf. IBM Systems Journal, 36(4):564–593.

Han, J., Yu, Y., Liu, G., and Xue, G. (2005). An algorithm for enumerating sccs in webgraph. In Web Technologies Research and Development - APWeb 2005, volume 3399 of Lecture Notes in Computer Science, pages 655–667. Springer Berlin Heidelberg.

JUNG (2010). Java universal network / graph framework. URL: http://jung.sourceforge.net..

Lanza, M. and Ducasse, S. (2003). Polymetric views - a lightweight visual approach to reverse engineering. Software Engineering, IEEE Transactions on, 29(9):782–795.

Lehman, M. M. (1980). Lifecycles and the laws of software evolution. In In Proceedings of the IEEE, Special Issue on Software Engineering, pages 19:1060–1076.

Louridas, P., Spinellis, D., and Vlachos, V. (2008). Power laws in software. ACM Trans.Softw. Eng. Methodol., 18(1):2:1–2:26.

Newman, M. E. J. (2003). The structure and function of complex networks. SIAM REVIEW, 45:167–256.

Sharafi, Z. (2011). A systematic analysis of software architecture visualization techniques. In Program Comprehension (ICPC), 2011 IEEE 19th International Conferenceon, pages 254–257.

Sharir, M. (1981). A strong-connectivity algorithm and its applications in data flow analysis. Computers & Mathematics with Applications, 7(1):67 – 72.

Tarjan, R. (1972). Depth-first search and linear graph algorithms. SIAM Journal on Computing, 1(2):146–160.

Voinea, L., Telea, A., and van Wijk, J. J. (2005). Cvsscan: Visualization of code evolution.In Proceedings of the 2005 ACM Symposium on Software Visualization, SoftVis 05, pages 47–56, New York, NY, USA. ACM.

Wen, L., Dromey, R., and Kirk, D. (2009). Software engineering and scale-free networks. Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, 39(4):845–854.

Wettel, R. and Lanza, M. (2007). Visualizing software systems as cities. In Visualizing Software for Understanding and Analysis, 2007. VISSOFT 2007. 4th IEEE International Workshop on, pages 92–99.

Wheeldon, R. and Counsell, S. (2003). Power law distributions in class relationships. In Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on, pages 45–54.

Wilhelm, M. and Diehl, S. (2005). Dependency viewer - a tool for visualizing package design quality metrics. In Visualizing Software for Understanding and Analysis, 2005. VISSOFT 2005. 3rd IEEE International Workshop on, pages 1–2.

Yang, R., Zhumadar, L., and Nasraoui, O. (2011). Bow-tie decomposition in directed graphs. In Information Fusion (FUSION), 2011 Proceedings of the 14th International Conference on, pages 1–5.

Yao, Y., Huang, S., Ren, Z.-p., and Liu, X.-m. (2009). Scale-free property in large scale object-oriented software and its significance on software engineering. In Proceedings of the 2009 Second International Conference on Information and Computing Science Volume 03, ICIC ’09, pages 401–404, Washington, DC, USA. IEEE Computer Society.
Published
2014-08-04
CALEGARI, Gabriel Lage; FERREIRA, Kecia Aline Marques. Software visualization based on the Little House model. In: BRAZILIAN SOFTWARE QUALITY SYMPOSIUM (SBQS), 13. , 2014, Blumenau. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2014 . p. 31-45. DOI: https://doi.org/10.5753/sbqs.2014.15242.