[pt] COLABORAR OU NÃO COLABORAR?: MELHORANDO A IDENTIFICAÇÃO DE ANOMALIAS DE CÓDIGO - ROBERTO FELICIO DE OLIVEIRA (2018)
[pt] Anomalias de código são estruturas anômalas de código que podem indicar problemas de manutenção. A identificação de anomalias é necessária para revelar elementos de código mal estruturados, tais como classes e métodos. Porém, a identificação individual de anomalias, realizada por um único desenvolvedor, pode ser ineficaz. Estudos reportam limitações da identificação individual de anomalias. Por exemplo, a identificação de anomalias requer uma compreensão profunda de múltiplos elementos de um programa, e cada elemento é melhor entendido por um desenvolvedor diferente. Logo, um desenvolvedor isolado frequentemente tem dificuldades para encontrar, confirmar e refutar uma suspeita de anomalia. Identificação colaborativa de anomalias, que é realizada em conjunto por dois ou mais colaboradores, tem o potencial para resolver esse problema. Porém, há pouca evidência empírica sobre a eficácia da identificação colaborativa de anomalias. Nesta tese, nós conduzimos estudos empíricos para entender a eficácia da identificação individual e colaborativa de anomalias. Computamos e comparamos a eficácia de colaboradores e desenvolvedores isolados com base no número de anomalias identificadas corretamente. Conduzimos tais estudos em empresas e laboratórios de pesquisa, totalizando 67 desenvolvedores, incluindo desenvolvedores novatos e experientes. Também definimos alguns fatores de influência sobre a eficácia da identificação colaborativa de anomalias, tais como a granularidade da anomalia. Revelamos e caracterizamos algumas atividades colaborativas que melhoram a eficácia dos desenvolvedores na identificação de anomalias. Finalmente, identificamos oportunidades para melhorar certas atividades colaborativas. Nossos resultados sugerem que colaboradores são significativamente mais eficazes que desenvolvedores isolados, tanto desevolvedores novatos quanto experientes. Concluímos que colaborar é vantajoso para melhorar a identificação de uma vasta gama de tipos de anomalia.