Please use this identifier to cite or link to this item: https://dspace.sti.ufcg.edu.br/handle/riufcg/43638
Title: Technical debt in pull requests : insights from static code analysis and human reviews.
Other Titles: Dívida técnica em solicitações de pull: insights de análise de código estático e revisões humanas.
???metadata.dc.creator???: CALIXTO, Felipe Emerson de Oliveira.
???metadata.dc.contributor.advisor1???: ARAÚJO, Eliane Cristina de.
???metadata.dc.contributor.advisor2???: ALVES, Everton Leandro Galdino.
???metadata.dc.contributor.referee1???: MASSONI, Tiago Lima.
???metadata.dc.contributor.referee2???: KULESKA, Uira.
Keywords: SonarQube;Mining software repositories;Software evolution;Empirical study;Code review;Pull request;Technical debt;SonarQube;Mineração de repositórios de software;Evolução do software;Estudo empírico;Revisão de código;Solicitação de pull;Dívida técnica
Issue Date: 2-Sep-2025
Publisher: Universidade Federal de Campina Grande
Citation: CALIXTO, Felipe Emerson de Oliveira. Technical debt in pull requests: insights from static code analysis and human reviews. 2025. 132 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2025.
???metadata.dc.description.resumo???: Dívida técnica (DT) refere-se a soluções técnicas rápidas que aceleram a entrega, mas degradam a qualidade do software ao longo do tempo, tornando os sistemas mais difíceis de manter, evoluir e testar. Estudos anteriores analisaram principalmente a evolução de longo prazo da DT por meio de commits ou releases, focando na detecção automatizada ou em revisões de código. No entanto, pouco se sabe sobre sua dinâmica de curto prazo — isto é, como desenvolvedores e revisores lidam com a DT em pull requests (PRs), principal ponto de integração de código. Para preencher essa lacuna, conduzimos um estudo empírico em 12 projetos Java da Apache, analisando a DT em PRs sob duas perspectivas: (i) um estudo quantitativo com o SonarQube para avaliar a DT em 2.056 PRs aceitos (merged), examinando tendências da dívida (reduzida, inalterada ou aumentada), influências temporais e categorias de problemas frequentemente ignorados ou resolvidos; e (ii) um estudo qualitativo de 250 PRs e 929 threads de revisão para investigar como revisores e desenvolvedores lidam com a DT, identificando gatilhos para discussões sobre DT e a natureza das sugestões apresentadas para tratá-la. Nossos resultados mostram que a DT é prevalente, aparecendo em 96,26% dos PRs (detectada por ferramenta) e em 84,4% (revisões de código), com 76% dos review threads discutindo DT. A evolução da DT segue uma razão de 1:2:1 (reduzida:inalterada:aumentada). Os problemas mais comuns incluem duplicação de código, inconsistências de nomenclatura, complexidade cognitiva e práticas inadequadas de logging, sendo alguns considerados toleráveis em determinados contextos. Embora 96% das discussões sobre DT incluam sugestões de correção e mais de 80% delas sejam de fato implementadas, quase 40% não apresentam confirmação explícita do desenvolvedor — proporção que chega a 90% nos casos em que o problema permanece sem solução. Esses achados podem orientar profissionais no gerenciamento da DT, apoiar desenvolvedores de ASATs no aprimoramento ou criação de novas ferramentas e fornecer uma base para pesquisas futuras utilizando nossa metodologia e datasets.
Abstract: Technical Debt (TD) refers to quick technical solutions that expedite delivery but degrade software quality over time, making systems harder to maintain, evolve, and test. Previous studies have mainly examined TD’s long-term evolution through commits or releases, focusing on either automated detection or code reviews. Yet little is known about its short-term dynamics—how developers and reviewers manage TD during pull requests (PRs), the main entry point for code integration. To address this, we conducted an empirical study on 12 Apache Java projects, analyzing TD in PRs from two angles: (i) a quantitative study using SonarQube to assess TD in 2,056 merged PRs, examining debt trends (reduced, unchanged, or increased), time influences, and frequently overlooked or resolved issue categories; and (ii) a qualitative study of 250 PRs and 929 review threads to investigate how reviewers and developers address TD, identifying triggers for TD discussions and the nature of suggestions for addressing TD. Our findings show TD is prevalent, appearing in 96.26% of PRs (tool-detected) and 84.4% (code reviews), with 76% of review threads discussing TD. TD evolution follows a 1:2:1 ratio (reduced:unchanged:increased). Common issues include code duplication, naming inconsistencies, cognitive complexity, and poor logging, with some deemed tolerable contextually. While 96% of TD discussions include suggestions for addressing TD, over 80% are fixed, though nearly 40% lack explicit developer confirmation, rising to 90% for unresolved issues. These insights can guide practitioners in managing TD, support ASAT tool developers in refining or designing tools, and provide a foundation for future research using our methodology and datasets.
Keywords: SonarQube
Mining software repositories
Software evolution
Empirical study
Code review
Pull request
Technical debt
SonarQube
Mineração de repositórios de software
Evolução do software
Estudo empírico
Revisão de código
Solicitação de pull
Dívida técnica
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: https://dspace.sti.ufcg.edu.br/handle/riufcg/43638
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
FELIPE EMERSON DE OLIVEIRA CALIXTO - DISSERTAÇÃO - (PPGCC) 2025.pdf3.92 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.