Abstract:
RESUMO: A complexidade de um software aumenta à medida em que seu tamanho,também,aumenta.
Esse aumento pode refletir um crescimento na quantidade de bugs ou falhas,tornando
o processo manual de atribuição de bugs mais complexo,demorado e sujeito a erros.
Técnicas existentes,de automatização desse processo, atribuem relatórios de bugs usando
somente dados dos relatórios corrigidos anteriormente. Isso pode resultar em atribuições
a desenvolvedores inativos. Adicionalmente, uma parcela significativa das atribuições
normalmente não considera a carga de trabalho dos desenvolvedores, podendo sobrecarregar
alguns e tornar o processo de correção mais demorado. Este trabalho propõe uma abordagem
para distribuição de relatórios de bug que combina a experiência e as atividades recentes
dos desenvolvedores, bem como, sua carga de trabalho. Quando um novo relatório é
recebido, estima-se o esforço para corrigir o bug a partir de bugs semelhantes calcula-
se a afinidade de cada desenvolvedor com o arquivo que contém o erro utilizando um
sistema de Inferência Fuzzy. Posteriormente,é utilizado a meta-heurística Golden Ball para
atribuir esses relatórios aos desenvolvedores de acordo com a afinidade e carga de trabalho.
Resultados experimentais mostram que,quando comparados com um algoritmo de força
bruta, a abordagem proposta atinge valores ideais para a locação na maioria dos casos
(75% dos cenários analisados). A abordagem, também, obteve médias significativamente
melhores em 92,30% das instâncias quando comparado a um Algoritmo Genético e 84,61%
quando comparado com um Algoritmo Genético Distribuído, sendo que em apenas 23,07%
dos casos não houve uma diferença significativa entre as técnicas.
ABSTRACT: Existing approaches assign bug reports using only data from previously fixed reports. This can result in assignments to inactive developers, as well as not considering newcomers. A significant portion of assignments typically do not consider the workload of developers, which can overwhelm some and make the revision/debugging/correction process more time-consuming. This work proposes an approach for distributing bug reports that combines the experience and recent activities of developers,as well as their workload. When a new report is received, the effort to fix the bug based on similar error is estimated and each developer’s affinity with the file containing the bug is calculated using a Fuzzy Inference system. Subsequently, the Golden Ball,a multi-population evolutionary meta-heuristic, is used to assign these reports to developers according to affinity and workload.Experimental results show that, when compared with a brute force algorithm, the proposed approach reach optimal values for allocation in most cases (75% of the analyzed scenarios). The approach also obtained significantly better averages in 92.30% of the instances when compared to a Genetic Algorithm and 84.61% when compared to a Distributed Genetic Algorithm, and in only 23.07% of the instances there was no significant difference between the techniques.