• Nenhum resultado encontrado

5.2 Casos de Uso

5.2.2 Apache Ant

5.2 CASOS DE USO 61

Pontos da versão 4.6 pertencentes à

pasta src/test

A

Pontos da versão 4.6 pertencentes à

pasta src/main

B

Figura 5.4: A○ Separa¸c˜ao de arquivos da vers˜ao 4.6 pertencentes `a pasta src/test, e B○ arquivos pertencentes aosrc/main.

observado na Figura 5.3, ao clicar na polilinha da vers˜ao 4.11, destaca em verde os arquivos correspondentes `aquela vers˜ao na Visualiza¸c˜ao Similar (`a esquerda). ´E poss´ıvel ler claramente na Visualiza¸c˜ao Tabular que todos eles tˆem pontua¸c˜oes altas e grande quantidade de d´ıvidas. Este insight ´e confirmado com cores mais escuras e tamanho de ponto na Visualiza¸c˜ao Similar.

Ao observar a divis˜ao por agrupamentos de arquivos na vers˜ao 4.6 nos pontos desta-cados no quadrante superior (Figura 5.4 A ) ´e poss´ıvel observar que esses pontos est˜ao alocados na pasta src/test. Enquanto os pontos dessa mesma vers˜ao no quadrante infe-rior est˜ao alocados em src/main Figura 5.4 B ). Desta forma ´e poss´ıvel observar que a separa¸c˜ao dos pontos nesta vers˜ao em diferentes grupos est´a diretamente ligada `a sua pasta de destino.

62 AVALIAC¸ ˜AO

o total de 13.149 d´ıvidas em 1.669 arquivos ao longo de 12 vers˜oes. A Figura 5.5 apresenta uma vis˜ao geral do reposit´orio, demonstrando a funcionalidade de redimensionamento da

´

area de cada vis˜ao que comp˜oem odashboard.

7%

src/test 7%

src/org

77%

src/main

93%

src

7%

src/proposal

Figura 5.6: Visualiza¸c˜ao Hier´arquica apresentando a estrutura de diret´orios do reposit´orio Apache.

A princ´ıpio, notamos que a Vis˜ao Hier´arquica tem mais n´ıveis de profundidade que o reposit´orio anterior. O Apache tem 14 n´ıveis em rela¸c˜ao aos 9 n´ıveis no jUnit. A maioria das d´ıvidas est´a concentrada no diret´orio src/main e suas subpastas, com 77%

das d´ıvidas do projeto, seguido por src/tests e src/org, com 7% cada. Ao contr´ario do jUnit, a menor pasta ap´os o diret´orio raiz, src/proposta, tem a hierarquia de n´ıvel mais profunda, como pode ser visto por meio de um c´ırculo tracejado na Figura 5.6.

Ao observar a Vis˜ao de Similaridade ´e poss´ıvel notar pontos maiores e mais escuros localizados na parte inferior do ponto da nuvem, ou seja, h´a mais pontos/arquivos de gravidade naquela regi˜ao. Tamb´em ´e poss´ıvel ver 3 grupos (Figura 5.7), ambos com incidˆencia de DTs em arquivos apenas na vers˜ao Master. O Grupo 1 possui arquivos com D´ıvidas de C´odigo e Desconhecido, o Grupo 2 cont´em D´ıvidas de C´odigo, Defeito e Desconhecido, e o Grupo 3 possui arquivos apenas com d´ıvida de Defeito e valores menores em Paternidade, Heur´ıstica e Score (campos descritos na Subse¸c˜ao 4.3.1) em compara¸c˜ao com os grupos anteriores. Ainda, existe um outlier (ponto fora da curva) referente ao arquivo src/org/apache/tools/ant/util/java15/ProxyDiagnostics que pertence apenas `a vers˜ao Master. Possivelmente, sua posi¸c˜ao ocorre devido `a aquisi¸c˜ao exclusiva do tipo de D´ıvida Desconhecida e valores menores para outras caracter´ısticas, inclusive a quantidade de DTs (2 d´ıvidas). Al´em disso, seus vizinhos possuem valores altos para as mesmas fei¸c˜oes e tipos distintos de DTs, sendo vi´avel sua posi¸c˜ao perif´erica.

Conforme observado nos eixos da Visualiza¸c˜ao de Correla¸c˜ao, o reposit´orio Apache inclui 9 tipos distintos de de DTs, a saber: D´ıvidas de Constru¸c˜ao, Documenta¸c˜ao, C´odigo, Defeito, Requerimento, Teste, Design e Desconhecidas. A mesma forma que no projeto jUnit, as D´ıvidas de Defeito, Design e Desconhecidas incorrem principalmente

5.2 CASOS DE USO 63

G3 G2

G1

Outlier G4

Figura 5.7: Visualiza¸c˜ao de Similaridade de arquivos com grupos de interesse em destaque.

no Apache. ´E poss´ıvel perceber visualmente uma correla¸c˜ao positiva entre D´ıvidas de Defeitos e Desconhecidas, e algumas polilinhas cruzadas que indicam correla¸c˜ao negativa entre D´ıvidas Documenta¸c˜ao e C´odigo (Figura 5.8). A intera¸c˜ao sobre polilinhas permite inferir o ac´umulo de d´ıvidas ao longo do projeto. As primeiras vers˜oes se acumulam nas escalas inferiores, enquanto as vers˜oes posteriores cruzam as partes superiores do eixo, ou seja, as vers˜oes posteriores tˆem mais d´ıvidas do que as primeiras.

Correlação Negativa Correlação Positiva

Figura 5.8: Visualiza¸c˜ao de Correla¸c˜ao explicitando rela¸c˜oes entre t´ıpos de d´ıvidas.

De acordo com a an´alise da Visualiza¸c˜ao da Evolu¸c˜ao, as DTs permeiam o Apache entre o final dos anos 2000 at´e 2018. Nos dois primeiros anos, h´a o commit (atualiza¸c˜ao) de 5 novas vers˜oes (1.1 a 1.5)(Figura 5.9 A ). A partir da vers˜ao 1.5 h´a um pequeno aumento dos fluxos, seguindo um padr˜ao semelhante ao longo da d´ecada, at´e a vers˜ao 1.9. Durante a vers˜ao 1.10, de 2013 at´e 2018, h´a um aumento volumoso e quantific´avel

64 AVALIAC¸ ˜AO

nas pontua¸c˜oes. A corrente pertencente ao Score 1 ´e a predominante, seguida pelas 2, 3, 4 e 5 que aparecem nas etapas finais do desenvolvimento do projeto. Abruptamente, diminui ao atingir a vers˜ao Master. Ao clicar nesta vers˜ao, podemos ler na Visualiza¸c˜ao Correlacionada o maior valor de d´ıvidas t´ecnicas (817 DTs). No entanto, diminuindo as pontua¸c˜oes restantes, onde a gravidade vinculada `as DTs ´e atenuada.

Commit de 5 versões ao longo de 2 anos

Diminuição da gravidade mesmo com o aumento das dívidas

A

B

Figura 5.9: Visualiza¸c˜ao da Evolu¸c˜ao do reposit´orio Apache.

Dentre as Main Words nas primeiras vers˜oes destacam-se indicates, build, remove, code, error, warning, interface e ground. `A medida que o projeto evolui, good, would, attribute,dependency eclass tornam-se evidentes. Ao final do projeto h´a predominˆancia de file, task e object, permitindo inferir a preocupa¸c˜ao dos colaboradores com arquivos e tarefas espec´ıficas. Selecionar Feeling Words exibe palavras que transmitem senti-mentos nos coment´arios dos contribuidores. Durante as 5 primeiras vers˜oes ´e poss´ıvel observar error, dirty e well; palavras que deduzem a necessidade de consertar ou refa-zer tarefas. Esta tese ganha for¸ca ao predominar as palavras build, remove, interface e ground em Main Words. Como consequˆencia destes coment´arios, nas pr´oximas vers˜oes

´

e poss´ıvel notar good, correct, fail, delayed e works, possivelmente destinando respostas sobre tarefas anteriores. A incidˆencia de palavras negativas como fail,warning, ineficient e trap aumenta conforme o pico na vers˜ao 1.10. Seguido por correct, enough e qualified.

O aparecimento dessas palavras caracteriza o motivo pelo qual, embora a ´ultima vers˜ao contenha uma quantidade maior de DT, elas n˜ao obtˆem a severidade qualitativa t˜ao alta, refletindo na diminui¸c˜ao do fluxo na ´ultima vers˜ao.

A parte inferior da Figura 5.9 ( B ) demonstra as an´alises de pontua¸c˜ao e sentimento por meio da vers˜ao 1.10. Os Scores 1, 2 e 4 mostram sentimentos negativos para esta

5.3 COMPARAC¸ ˜AO DESCRITIVA 65 vers˜ao, enquanto a pontua¸c˜ao 3 apresenta sentimentos positivos e a pontua¸c˜ao 5 senti-mentos neutros. Em suma, esta vers˜ao teve um misto de sentimentos, um pouco mais negativo – o que pode deduzir desenvolvedores mais estressados na fase final do projeto.

Documentos relacionados