Resumo |
A comunicação em projetos de software tem sido objeto de estudo em diversos trabalhos, visto que a troca de conhecimento entre desenvolvedores é importante para o desenvolvimento de soluções apropriadas. Tais comunicações ficam comumente concentradas em repositórios de issue tracking, onde a equipe discute soluções acerca de um problema registrado em uma issue e seus comentários associados. O objetivo deste trabalho é apresentar a Biblioteca ColMinerRT, capaz de analisar as comunicações ocorridas no issue tracking do GitHub, por meio do cálculo automatizado da métrica de relevância temática dos comentários presentes nas issues. A biblioteca ColMinerRT possui três macro-funcionalidades: a extração das comunicações de issue tracking, que utiliza da API do GitHub; o cálculo da relevância temática, que utiliza das bibliotecas Sklearn e NumPy; e por fim, a exportação dos dados, que utiliza a biblioteca csv para apresentar os dados em formato intercambiável ao usuário, em cinco visões distintas: sendo três delas relacionadas ao status das issues (abertas e fechadas, abertas, ou fechadas), uma relacionada ao autor, e a última relacionada a uma data dos comentários. A biblioteca faz parte da tarefa de modularização da ferramenta ColMiner, foi desenvolvida em Python e alterou a estratégia para cálculo da similaridade dos textos usada durante o cálculo da relevância temática, passando a usar similaridade de cossenos ao invés da similaridade de grafos. Além disso, houve também uma alteração na fórmula usada para cálculo da relevância temática, que passou a ser a média aritmética entre a similaridade do comentário com a issue - SCI e a similaridade do comentário com a discussão (título e descrição da issue, mais os comentários anteriores) - SCD. Anteriormente, o cálculo considerava o valor máximo entre três similaridades: SCC - similaridade do comentário com comentário anterior; SCD e; SCI, mas após a substituição pela técnica de cossenos, SCC assumia diversas vezes o valor zero, de forma que ele não influenciava no valor final da relevância temática, sendo desconsiderado na fórmula adaptada. Para validar as alterações no cálculo da métrica e o comportamento da biblioteca foi realizado um procedimento de comparação dos valores calculados automaticamente com a opinião de especialistas, para um conjunto de 12 issues e 59 comentários associados. Foram utilizadas duas métricas de verificação de precisão de valores, sendo elas a MAE (Mean Absolute Error) e a MSE (Mean Squared Error). Os resultados mostraram uma melhora na precisão após as alterações, sendo que a versão anterior recebeu os valores de 21.02% para MAE e 6.69% para MSE, enquanto que a versão da biblioteca ColMinerRT recebeu 9.57% para MAE e 1.85% para MSE. Como trabalhos futuros, espera-se aplicar a biblioteca para a mineração e cruzamento dos dados de relevância com outros atributos que envolvam comunicações em issue tracking, além de investigar novas visões de exportação dos dados. |