• Nenhum resultado encontrado

Descrição do estudo

8.2 Replicação do Experimento Controlado (Estudo 3) para Avaliar a Combinação

8.2.1 Descrição do estudo

Este estudo é uma replicação do estudo apresentado na seção7.2. Ele repete praticamente todos os procedimentos do estudo anterior. A abordagem proativa para geração de mapeamentos de featuresdesenvolvida por (Nunes,2011)(Nunes et al.,2011) também foi utilizada. A Figura8.2

apresenta a visão geral da abordagem, considerando agora a nova visão Timeline Matrix. No experimento, foram utilizados os mapeamentos gerados pelas heurísticas. O estudo teve como objetivo avaliar a efetividade da estratégia de features em ajudar desenvolvedores na compreensão de evolução de features, considerando uma nova visão, que realiza uma estratégia de análise diferente.

A efetividade do SME Feature, agora combinando estratégias Diferenciais e Temporais, foi medida quantitativamente em termos de tempo e corretude. Neste experimento, a estratégia provida pela ferramenta SME feature foi comparado com a estratégia baseada em estrutura de árvore provida pela ferramenta ConcernMapper (CM).

Hipóteses do experimento

8.2. REPLICAÇÃO DO EXPERIMENTO CONTROLADO (ESTUDO 3) PARA AVALIAR A COMBINAÇÃO DE ESTRATÉGIAS (ESTUDO 4)

Tabela 8.1: Hipóteses do estudo.

Hipótese Descrição

H1

A estratégia SME decresce o tempo gasto em tarefas de compreensão de evolução de features quando combinadas as estratégias Diferencial Absoluta e Temporal Overview detalhada.

H01

A estratégia SME não decresce o tempo gasto em tarefas de com- preensão de evolução de features quando combinadas as estratégias Diferencial Absoluta e Temporal Overview detalhada.

H2 A estratégia SME melhora a corretude das tarefas de compreensão de evolução de features.

H02 A estratégia SME não melhora a corretude das tarefas de compreen-

são de evolução de features.

evolução de features. Tais medidas foram calculadas com o objetivo de identificar qual estratégia (SME ou CM) se mostra mais benéfica. A Tabela8.1apresenta as duas hipóteses do estudo. A hipótese H1 sugere que a SME decresce o tempo gasto nas atividades de compreensão de evolução de features quando considerado a nova visão Timeline Matrix. A hipótese H2 é exatamente igual a do estudo anterior. Ela sugere que a SME melhora a corretude nas atividades de compreensão de evolução de features. As hipóteses nulas são construídas a partir da negação de cada uma destas hipóteses.

Objeto experimental

A efetividade da estratégia foi avaliada através das mesmas cinco versões de um sistema industrial (ver Seção7.2.1).

Participantes

A replicação do experimento foi executada com 43 participantes de três sítios diferentes (Tabela 8.2). Os grupos foram divididos tentando equilibrar a quantidade de participantes por grupo. Isso pode ser observado na Tabela8.2, coluna Quantidade de participantes/Início. Durante o experimento, alguns participantes deixaram de realizar algumas atividades (e.g. treinamento, realização do Homework, execução do experimento). O número de participantes diminuiu em cada um dos sítios conforme pode ser observado na Tabela8.2, coluna Quantidade de participantes/Fim.

Os grupos foram divididos de forma a mantê-los equilibrados quanto a experiência. A experiência foi medida através do mesmo Formulário de Caracterização utilizado no estudo anterior.

Foram coletados tempo de trabalho, cursos realizados pelos participantes, e conhecimento relacionado às tecnologias utilizadas no experimento. Os participantes responderam se já tinham

Tabela 8.2: Quantidade de participantes.

Quantidade de participantes

Local Descrição Grupo Piloto Início Fim

Sítio 1 Alunos da turma de pós graduação

CM 2 14 12

SME 2 13 9

Sítio 2 Alunos da turma de graduação

CM - 8 7

SME - 9 5

Sítio 3 Profissionais da Empresa CM - 5 5

SME - 6 5

Figura 8.3: Experiência dos participantes, considerando: a) cada site individualmente, e b) todos em conjunto.

ou não realizado nove diferentes cursos (Banco de Dados, Orientação a Objetos, Evolução de Software, Mapeamento de Features, Programação Java, Projeto de Software, Features, Ferramentas Diffs, Visualização de Software). Cada um foi quantificado com 0, quando o participante não teve nenhum contato, e 1, caso contrário.

Da mesma forma, os participantes tiveram que informar seu nível de conhecimento relaci- onado a quatro tecnologias (Feature, Evolução de Software, Linguagem Java e IDE Eclipse). Para cada uma, o participante respondia de acordo com a seguinte escala: 0-Nenhum, 1-Pouco, 2-Moderado e 3-Experiente. O resultado dessa caracterização, para os participantes que realiza- ram o experimento, é apresentada na Figura8.3. Observe que mesmo depois das ausências, os grupos se mantiveram equilibrados. Na figura é possível observar a caracterização em cada um dos sítios, bem como considerando todos eles em conjunto.

A seleção dos participantes buscou diversificar o perfil dos mesmos. Foram selecionados participantes com menos experiência (alunos da graduação), participantes com experiência

8.2. REPLICAÇÃO DO EXPERIMENTO CONTROLADO (ESTUDO 3) PARA AVALIAR A COMBINAÇÃO DE ESTRATÉGIAS (ESTUDO 4)

mesclada (alunos de pós-graduação), e participantes com mais experiência (profissionais). Tarefas do experimento

As tarefas desta replicação foram as mesmas do estudo anterior. Elas estão descritas na Tabela7.3.

Procedimentos experimentais

O experimento foi rodado em seis sessões, duas para cada tratamento (SME e CM) em cada um dos sítios. As sessões foram supervisionadas para evitar conversas paralelas e prover suporte necessário para eventuais problemas durante a execução do experimento (i.e. ferramentas e computadores). As ferramentas foram instaladas e testadas antes da execução do experimento. Os participantes do Sítio 1 e Sítio 2 realizaram o experimento no laboratório da UFBA. Os participantes do Sítio 3 realizaram o experimento na própria Empresa onde trabalhavam.

O código fonte do objeto experimental estava disponível para os participantes. Neste experimento, nós permitimos que o participante ficasse até 2:30h, para evitar que o tempo total limitasse os participantes. Este tempo foi definido e ajustado depois da execução do estudo piloto, e baseado no estudo anterior.

Os demais procedimentos foram idênticos aos do estudo anterior. Estudo piloto

Um estudo piloto foi realizado antes do experimento com o primeiro grupo: o Sítio 1. A intenção era identificar quaisquer problemas nos procedimentos ou ainda nas ferramentas adotadas, agora considerando a nova visão. Quatro participantes realizaram este estudo piloto. Dois deles utilizaram a ferramenta CM e dois a ferramenta SME. É importante dizer que tais participantes não fizeram parte da execução do experimento. O estudo piloto nos permitiu melhorar a descrição das tarefas, objetivos e grau de dificuldade. Além disso, foi essencial para ajustar o tempo do experimento em 2:30h.

Resultados do experimento

Uma vez definido todos os procedimentos, o experimento foi realizado nos três sítios. Para analisar os dados e testar as hipóteses, nós utilizamos testes estatísticos. A análise estatística foi composta de três fases. Primeiro, uma análise descritiva foi produzida com o cálculo de medidas como: média, valor mínimo e máximo, desvio padrão. Os dados foram analisados para verificar se as amostras eram normais e tinham iguais variâncias. Para isso, foram aplicados os testes Shapiro-Wilke Levene, respectivamente. Segundo, para testar as hipóteses, nós selecionamos dois testes: t-test e Mann-Whitney. Eles seriam aplicados a depender se as amostras eram normais e homocedástica, ou não. As amostras se mostraram pouco diferentes nos três sítios. Ainda assim foi necessário utilizar diferentes testes para as hipóteses. Foi utilizado um nível de confidência de 95% (α=0,05). Finalmente, a execução dos testes nas amostras permitiu a

Tabela 8.3: Resultados da análise estatística - Sítio 1.

Grupo Média Diff Min Max DesvPad S-W p-value Levene t-test p-value MW p-falue

Tempo (minutos) CM 86,02 52,48 101,4 15,94 0,8995 SME 42,27 - 50,65% 19,06 92,28 20,93 0,01766 0,7397 3,12E-05 0,0004559 Corretude (pontos) CM 4,37 2,55 5 0,72 0,02258 SME 5,4 + 19,17% 3,74 6 0,9 0,001893 0,01518

Tabela 8.4: Resultados da análise estatística - Sítio 2.

Grupo Média Diff Min Max DesvPad S-W p-value Levene t-test p-value MW p-falue

Tempo (minutos) CM 83,17 56,55 116,33 18,06 0,4162 SME 34,38 -58,41% 26,12 49,3 9,1 0,2694 0,4671 2,67E-04 Corretude (pontos) CM 4,52 3,55 5 0,56 0,1353 SME 5,43 +20,01% 4,15 6 0,77 0,1238 0,6885 0,03891

avaliação das hipóteses.

Resultados estatísticos: As Tabelas8.3,8.4,8.5e8.6apresentam os resultados coletados em cada um dos sítios, bem como considerando todos ao mesmo tempo. Elas mostram os resultados para a análise estatística do tempo e corretude. Da mesma forma que no experimento anterior, tempo aqui foi computado para todas as tarefas, incluindo corretas, parcialmente corretas ou erradas, e corretude foi computada para questões completamente correta, parcialmente corretas ou incorretas.

Em relação ao tempo, o SME teve melhores resultados em todos os sítios. No Sítio 1, o SME teve seu tempo, em média, 50,65% menor que o SM, e foi possível rejeitar a hipótese nula H01 (p-value = 0,0004559). No Sítio 2, o SME teve seu tempo, em média, 58.41% menor que o SM, e foi possível rejeitar a hipótese nula H01 (p-value = 2,67e−4). No Sítio 3, o SME teve seu tempo, em média, 43,16% menor que o SM, e foi possível rejeitar a hipótese nula H01 (p-value = 0,007937). Considerando todos os sítios juntos, o SME teve seu tempo, em média, 52,01% menor que o SM, e foi possível rejeitar a hipótese nula H01 (p-value = 2,41e−10).

Em relação a corretude, o SME também obteve melhores resultados em todos os sítios. No Sítio 1, o SME teve sua corretude, em média, 19,17% maior que o SM, e foi possível rejeitar a hipótese nula H02 (p-value = 0,01518). No Sítio 2, o SME teve sua corretude, em média, 20,01% maior que o SM, e foi possível rejeitar a hipótese nula H02 (p-value = 0,03891). No Sítio 3, o SME teve sua corretude, em média, 29,54% maior que o SM, e foi possível rejeitar a hipótese nula H02 (p-value = 0,003717). Considerando todos os sítios juntos, o SME teve

8.2. REPLICAÇÃO DO EXPERIMENTO CONTROLADO (ESTUDO 3) PARA AVALIAR A COMBINAÇÃO DE ESTRATÉGIAS (ESTUDO 4)

Tabela 8.5: Resultados da análise estatística - Sítio 3.

Grupo Média Diff Min Max DesvPad S-W p-value Levene t-test p-value MW p-falue

Tempo (minutos) CM 64,22 45,59 79,51 10,71 0,6888 SME 36,08 -43,16% 32,44 40,03 3,03 0,8005 0,02094 0,007937 Corretude (pontos) CM 4,09 2,83 5 0,93 0,6105 SME 5,8 +29,54% 5,55 6 0,19 0,4958 0,06045 0,003717

Tabela 8.6: Resultados da análise estatística - Todos Sítios.

Grupo Média Diff Min Max DesvPad S-W p-value Levene t-test p-value MW p-falue

Tempo (minutos) CM 80,43 52,48 116,33 17,36 0,6923 SME 38,44 -52,01% 19,06 92,28 15,12 0,0002124 0,2563 2,41E-10 Corretude (pontos) CM 4,35 2,55 5 0,71 0,001493 SME 5,51 +21,04% 3,74 6 0,73 0,00004329 1,95E-05

sua corretude, em média, 21,04% maior que o SM, e foi possível rejeitar a hipótese nula H01 (p-value = 1,95e−5).

Baseado nos resultados é possível ver que o SME atingiu valores bastante interessantes quando comparados com o CM. Quanto a corretude, se olharmos para a média do experimento anterior, onde o SME teve uma corretude 26,94% maior, e comparámos com os resultados deste novo experimento, a corretude do CM diminuiu a distância para o SME. Apenas no Sítio 3 o SME teve um resultado maior, na média, que o primeiro experimento (29,54% maior). Porém nos sítios 1 e 3, bem como considerando todos ao mesmo tempo, a média do SME ficou entre 19% e 21% maior. Este resultado é esperado, uma vez que como os participantes do CM tiveram mais tempo, era razoável que eles acertassem mais as tarefas. De qualquer forma, a os valores da corretude do SME continuam ainda bastante superiores quando comparados com o CM.

O resultado mais importante se refere a hipótese do tempo. Este inclusive foi o motivador principal da realização deste experimento. No primeiro experimento, não foi possível rejeitar a hipótese de que a estratégia do SME decresceria o tempo gasto em tarefas de compreensão de evolução de features. Como discutido no experimento anterior, este resultado pode ter sido influenciado pelo tamanho da amostra ou pelo tempo do experimento. A amostra agora é maior e mais representativa. O tempo também foi estendido. Os resultados estatísticos mostram que a hipótese nula agora foi rejeitada. Isso permite concluir que a adição da nova visão, a qual endereça uma nova estratégia, foi benéfica para o ambiente.

Figura 8.4: Tempo das atividade AT4 e AT5 em todos os experimentos.

Para entender melhor os resultados, nós analisamos separadamente os tempos das atividades AT4 e AT5 do experimento. Estas foram as atividades que, de acordo com nossas avaliações no experimento anterior, contribuíram negativamente no tempo do SME. A Figura8.4mostra os resultados do tempo em média para as duas tarefas no experimento anterior, em cada um dos sítios deste experimento, bem como considerando os três sítios em conjunto. Observe pela figura como o tempo nestas atividades reduziram significativamente, principalmente quando comparado com o CM. Isto é mais um indício dos benefícios da adição da nova estratégia Temporal Overview Detalhada, suportada pela Timeline Matrix.

É importante destacar também que os resultados deste experimento apontam para bons resultados da aplicação do processo de desenvolvimento incremental e iterativo do SME (Figura

5.5). Uma vez que esta nova visão foi planejada a partir de um experimento anterior, culminando assim em um ambiente mais robusto.

8.2.2

Consequências do Estudo

Este estudo permitiu avaliar o ambiente SME com a nova visão Timeline Matrix que endereça a estratégia Temporal Overview. O principal resultado desse estudo foi que o uso integrado de diferentes estratégias leva a uma melhora na efetividade da realização de atividades de evolução de features no ambiente visual. Outras lições aprendidas são listadas abaixo:

8.3. CONCLUSÃO DO CAPÍTULO

outras visões do Eclipse. Por exemplo, o “Open on Treemap” e o “Open on Timeline” poderia também ser feito a partir dos elementos da visão Package Explorer. Os usuários de uma IDE têm mais conhecimento das visões nativas, podendo assim se beneficiar mais das novas funcionalidades trazidas pela abordagem utilizada pelo SME;

• A navegabilidade da interface do SME precisa ser melhorada. A forma como os usuários intercambiam entre as diferentes estratégias, visualização de métricas, e escolha de cores para features pode ser tornada mais amigável. Isso ficou mais evidente neste experimento, pelo fato de ser o primeiro a conter todas as estratégias do SME integradas em uma única versão. Isto foi reportado por uma quantidade considerável dos participantes do experimento;

• Foi possível observar que o SME possui uma curva de aprendizado alta, principalmente se comparada com ferramentas mais simples como o CM. Durante o treinamento, foi possível perceber que os participantes do SME requeriam mais ajuda dos experimentadores até entender de fato como funcionava o ambiente;

8.3

Conclusão do Capítulo

Este capítulo apresentou como o SME faz uso da estratégia Temporal Overview Detalhada em combinação com a estratégia Diferencial Absoluta para suporte à compreensão de evolução de features. Foi apresentada uma replicação do experimento controlado, apresentado no Capítulo7, que teve como objetivo avaliar a integração destas diferentes estratégias de análise. Os resultados do estudo apontaram para a efetividade do uso combinado de múltiplas estratégias para a análise visual de evolução de software.

Capítulo

9

Este capítulo apresenta as considerações finais desta tese, destacando as contribuições deste trabalho. Trabalhos em andamento e possíveis trabalhos futuros são também apresentados.

CONSIDERAÇÕES FINAIS

A evolução de software é um importante tópico na engenharia de software moderna. Ela lida com grande quantidade de dados e diferentes tarefas de engenharia de software. A visualização de software é uma área que pode ser utilizada para ajudar engenheiros e desenvolvedores de software em sua necessidade diária em evoluir o software.

Esta tese apresentou um ambiente para a visualização de evolução de software baseado em múltiplas estratégias de análise visual chamado SourceMiner Evolution. O ambiente foi desenvolvido de forma iterativa e incremental seguindo etapas de concepção, desenvolvimento e avaliação.

Partimos de um ambiente de visualização disponível no grupo: SourceMiner. Este ambiente permitia, através do uso de múltiplas visões, visualizar uma versão do software em detalhes. Verificou-se que, devido ao volume de dados, quase todos os trabalhos de visualização de evolu- ção de software focavam-se em estratégias Temporais que não permitiam analisar o software em detalhes ou não permitiam navegação em elementos específicos de software. Inspirado na abordagem de ferramentas de diffs, largamente utilizadas no cenário real de desenvolvimento de software, quando analisando a evolução, propusemos a utilização de uma estratégia Diferencial Relativa sobre as visões globais do SourceMiner, originando o SourceMiner Evolution. Esta estratégia permitia a análise em detalhes da evolução de atributos intrínsecos (e.g., tamanho e complexidade) dos módulos de software.

Esta estratégia foi avaliada e o ambiente foi evoluído com a adição de uma estratégia temporal overview para visualizar a evolução em detalhes de determinados módulos. Adotou-se as coordenadas palalelas para representar graficamente os atributos intríssecos dos módulos.

Em seguida evoluímos o SME com a construção de uma estratégia Diferencial Absoluta. Esta estratégia permitiu a visualização em detalhes da evolução de propriedades pertinentes (e.g., funcionalidades e features) aos módulos de software. A combinação das estratégias diferenciais criou um ambiente poderoso de analíse de evolução de software em detalhes, atacando tanto atributos intrínsecos quanto propriedades pertinentes dos módulos de software.

Uma nova avaliação constatou que outra estratégia temporal era necessária, mesmo com a utilização das estratégias diferenciais. Isto ocorria quando as análises requiriam a rápida avalia- ção da linha de tempo de elementos específicos do software. Criou-se a TimeLine Matrix para representar as propriedades pertinentes dos módulos do software. As visões que implementam a estratégia Temporal funcionam sob demanda das visões globais que implementam as estratégias Diferenciais. Juntos estas visões e estratégias permitem a análise da evolução do software em detalhes. Estas visões e estratégias from utilizadas em estudos que verificaram sua aplicabilidade na análise de: hot spots de evolução, anomalias de código, aportunidade de refatoração, evolução de métricas, evolução de features, entrelaçamento de features, dependência de features, etc.

Ao longo dos capítulos, e especialmente no Capítulo 2, desta tese foram apresentados conceitos de evolução de software, visualização de software e visualização de evolução de software, considerados relevantes para o contexto deste trabalho. Considerando a experiência adquirida no trabalho desta tese, foi possível apresentar uma nova categorização da área: as estratégias de análise visual, apresentada no Capítulo3. Um estudo de mapeamento sistemático foi realizado a fim de compreender melhor e sistematicamente a área. Este estudo, apresentado no Capítulo4, apontou pontos críticos relacionados aos objetivos, estratégias, perspectivas e validação das propostas existentes.

No Capítulo5foi apresentado o SourceMiner Evolution, ambiente produzido no escopo desta tese para dar suporte à atividade de evolução de software através do uso de múltiplas estratégias de análise visual de evolução de software em detalhes. Por fim, os Capítulos6,7

e8apresentaram as instanciações das estratégias Diferencial Relativa, Diferencial Absoluta e Temporal Overview no SME, respectivamente, em conjunto com seus estudos de avaliação. Os estudos destacaram a efetividade do uso combinado de multiplas estratégias de análise visuais para a compreensão da evolução do software.

9.1

Contribuições desta Tese

A contribuição principal desta tese é o desenvolvimento de uma abordagem para visualização de evolução de software em detalhes, que faz uso de multiplas estratégias de análise visual.