Analisando Estratégias para Identificação de Dívidas Técnicas - Oliveira, Isabela; Marques-Neto, Humberto T.; Xavier, Laerte (Anais do Workshop de Visualização, Evolução e Manutenção de Software (VEM); 2020: Anais do VIII Workshop de Visualização, Evolução e Manutenção de SoftwareDO - 10.5753/vem.2020.14523, 2020)
Dívidas técnicas são uma constante no desenvolvimento de software. Para lidar com a pressão de entregas rápidas, desenvolvedores constantemente comprometem a qualidade do sistema entregue, postergando seu pagamento para fases posteriores. Com o objetivo de reduzir seus efeitos negativos, diversas soluções são propostas na literatura para identificação, gerenciamento e pagamento destas dívidas. Dentre elas, destacam-se as abordagens baseadas em análise estática (code smells), ou em comentários de código (self-admitted technical debt, ou SATD). Entretanto, ainda não está clara a real interseção entre tais abordagens, tampouco as características das dívidas melhor identificadas por cada uma delas. Neste trabalho, realizou-se uma comparação entre ambas abordagens através da aplicação das ferramentas SonarQube e SATDDetector num conjunto composto por 1.000 repositórios populares do GitHub. Como resultado, verificou-se que a interseção entre elas é de aproximadamente 19%, e que, em 7%, dos casos o SonarQube não é capaz de identificar SATDs. Ademais, as dívidas identificadas por ambas abordagens estão relacionadas à arquivos maiores (em termos de linhas de código), mais complexos (complexidade ciclomática e cognitiva) e com mais code smells.