Avaliação de Ferramentas de Identificação de Dívida Técnica Auto-Admitida
Resumo
Gerenciar dívidas técnicas em um projeto é primordial para saúde de projetos de software. A identificação delas, no entanto, não é trivial. Sejam elas, auto-admitidas ou não, existem diversas ferramentas que se propõem a identificá-las na literatura. No entanto, poucos estudos se propuseram a avaliar a intersecção entre suas abordagens. Neste artigo comparamos os resultados obtidos com duas ferramentas de identificação de dívidas técnicas auto-admitidas que utilizam mineração de comentários de código-fonte: eXcomment e DebtHunter. Utilizamos as ferramentas em quatro sistemas de código-aberto e comparamos manualmente a intersecção e a distribuição da classificação dos itens de dívida de cada uma das ferramentas. Verificou-se que dos itens classificados por eXcomment, 7% deles DebtHunter também classifica como dívida e que, dos itens que DebtHunter classifica como dívida, 19, 9% deles eXcomment também classifica. Além disso, apesar de divergirem quanto à quantidade de itens de dívida técnica, as ferramentas parecem convergir quanto aos tipos de dívida presentes nos sistemas avaliados.
Referências
Paris C. Avgeriou, Davide Taibi, Apostolos Ampatzoglou, Francesca Arcelli Fontana, Terese Besker, Alexander Chatzigeorgiou, Valentina Lenarduzzi, Antonio Martini, Athanasia Moschou, Ilaria Pigazzini, Nyyti Saarimaki, Darius Daniel Sas, Saulo Soares de Toledo, and Angeliki Agathi Tsintzira. 2021. An Overview and Comparison of Technical Debt Measurement Tools. IEEE Software 38, 3 (2021), 61-71. https://doi.org/10.1109/MS.2020.3024958
Gabriele Bavota and Barbara Russo. 2016. A Large-Scale Empirical Study on Self-Admitted Technical Debt. In Proceedings of the 13th International Conference on Mining Software Repositories (Austin, Texas) (MSR '16). Association for Computing Machinery, New York, NY, USA, 315-326. https://doi.org/10.1145/2901739.2901742.
Mário André de Freitas Farias, Manoel Gomes de Mendonça Neto, Marcos Kalinowski, and Rodrigo Oliveira Spínola. 2020. Identifying self-admitted technical debt through code comment analysis with a contextualized vocabulary. Information Software Technologies 121 (2020), 106270. https://doi.org/10.1016/j.infsof.2020.106270
Felipe Gustavo de S. Gomes, Thiago Souto Mendes, Rodrigo O. Spínola, Manoel Mendonça, and Mário Farias. 2019. Uma análise da relação entre code smells e dívida técnica auto-admitida. In Anais do VII Workshop on Software Visualization, Evolution and Maintenance (VEM) (Salvador). SBC, Porto Alegre, RS, Brasil, 37-44. https://doi.org/10.5753/vem.2019.7582
E. D. S. Maldonado and E. Shihab. 2015. Detecting and quantifying different types of self-admitted technical debt.. In Proceedings of the 7th Workshop on Managing Technical Debt (Waikiki, Honolulu, HI, USA) (MTD '11). IEEE, New York, NY, USA, 9-15. https://doi.org/10.1109/MTD.2015.7332619
Isabela Oliveira, Humberto Marques-Neto, and Laerte Xavier. 2020. Analisando Estratégias para Identificação de Dívidas Técnicas. In Anais do VIII Workshop de Visualização, Evolução e Manutenção de Software (Evento Online). SBC, Porto Alegre, RS, Brasil, 9-16. https://doi.org/10.5753/vem.2020.14523
Aniket Potdar and Emad Shihab. 2014. An exploratory study on self-admitted technical debt. In 2014 IEEE International Conference on Software Maintenance and Evolution. IEEE, 91-100.
Irene Sala, Antonela Tommasel, and Francesca Arcelli Fontana. 2021. DebtHunter: A Machine Learning-Based Approach for Detecting Self-Admitted Technical Debt. In Evaluation and Assessment in Software Engineering (Trondheim, Norway) (EASE 2021). Association for Computing Machinery, New York, NY, USA, 278-283. https://doi.org/10.1145/3463274.3464455
Nico Zazworka, Rodrigo O. Spínola, Antonio Vetro', Forrest Shull, and Carolyn Seaman. 2013. A Case Study on Effectively Identifying Technical Debt (EASE '13). Association for Computing Machinery, New York, NY, USA, 42-47. https://doi.org/10.1145/2460999.2461005