PerfMiner Visualizer: uma ferramenta para análise da evolução do atributo de qualidade de desempenho em sistemas de software

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Silva, Leo Moreira
Orientador(a): Kulesza, Uira
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/24210
Resumo: A manutenção e a evolução dos sistemas de software podem trazer várias mudanças de código que podem potencialmente reduzir sua qualidade e aumentar sua complexidade. Um atributo de qualidade crítico que é afetado ao longo do tempo é o desempenho do sistema. Assim, sem o devido acompanhamento, esse atributo de qualidade pode deixar de ser atendido adequadamente. A área de visualização de software propõe o uso de técnicas cujo objetivo é melhorar o entendimento do software e tornar mais produtivo o seu processo de desenvolvimento. Neste contexto, este trabalho apresenta o PerfMiner Visualizer - uma ferramenta para visualizar e analisar desvios de desempenho em evoluções subsequentes de um sistema de software. Através de visualizações de grafos de chamadas e sumarização de cenários, a ferramenta permite que desenvolvedores e arquitetos possam identificar cenários e métodos que tiveram variações no seu desempenho, inclusive as potenciais causas desses desvios através dos commits. O trabalho também apresenta um estudo empírico que avalia o uso da ferramenta aplicando-a em 10 versões de evolução de 2 sistemas open source de domínios diferentes e submetendo questionários online para obter feedback dos seus desenvolvedores e arquitetos. Os resultados do estudo conduzido trazem evidências preliminares da eficácia das visualizações providas pela ferramenta em comparação com dados tabulares. Além disso, o algoritmo de supressão de nós da visualização do grafo de chamadas foi capaz de reduzir entre 73,77% e 99,83% a quantidade de nós a serem exibidos para o usuário, permitindo que ele possa identificar mais facilmente as possíveis causas das variações.