Visualização de software baseada no modelo Little House

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

Resumo


Desenvolver e manter softwares com qualidade constituem-se tarefas difíceis. A baixa compreensão das estruturas de software e a complexidade de analisar os impactos de alterações são obstáculos para que um software evolua sem grandes deteriorações. Visualizar graficamente o sistema e suas características permitiria identificar mais facilmente possíveis necessidades de reestruturação do software e, com isso, amenizar seu processo de deterioração. Buscando contribuir com um recurso desta natureza, em um trabalho anterior de um dos autores do presente artigo, foi desenvolvido um modelo, denominado Little House, que consiste em uma figura macroscópica genérica das estruturas de software orientado a objetos, baseado no modelo bow-tie que descreve a web. Little House modela o software como uma rede que pode ser particionada em 6 componentes. O objetivo deste trabalho é desenvolver algoritmos de particionamento para o modelo Little House e criar uma ferramenta de visualização de software que exiba as redes de software para esse modelo.
Palavras-chave: Little House, software, Visualização

Referências

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.
Publicado
04/08/2014
CALEGARI, Gabriel Lage; FERREIRA, Kecia Aline Marques. Visualização de software baseada no modelo Little House. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (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.