Technical debt in pull requests : insights from static code analysis and human reviews.

Detalhes bibliográficos
Ano de defesa: 2025
Autor(a) principal: CALIXTO, Felipe Emerson de Oliveira.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://dspace.sti.ufcg.edu.br/handle/riufcg/43638
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.
id UFCG_b79426e55b34d4341f3cce906acd55e7
oai_identifier_str oai:dspace.sti.ufcg.edu.br:riufcg/43638
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str
spelling Technical debt in pull requests : insights from static code analysis and human reviews.Dívida técnica em solicitações de pull: insights de análise de código estático e revisões humanas.SonarQubeMining software repositoriesSoftware evolutionEmpirical studyCode reviewPull requestTechnical debtSonarQubeMineração de repositórios de softwareEvolução do softwareEstudo empíricoRevisão de códigoSolicitação de pullDívida técnicaCiência da ComputaçãoDí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.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.CapesUniversidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGARAÚJO, Eliane Cristina de.ARAUJO, E. C.http://lattes.cnpq.br/8032715047993974ALVES, Everton Leandro Galdino.ALVES, E. L. G.http://lattes.cnpq.br/2793969744497453MASSONI, Tiago Lima.KULESKA, Uira.CALIXTO, Felipe Emerson de Oliveira.2025-09-022025-10-07T19:32:37Z2025-10-072025-10-07T19:32:37Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://dspace.sti.ufcg.edu.br/handle/riufcg/43638CALIXTO, 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.porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2025-11-18T06:02:55Zoai:dspace.sti.ufcg.edu.br:riufcg/43638Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512025-11-18T06:02:55Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Technical debt in pull requests : insights from static code analysis and human reviews.
Dívida técnica em solicitações de pull: insights de análise de código estático e revisões humanas.
title Technical debt in pull requests : insights from static code analysis and human reviews.
spellingShingle Technical debt in pull requests : insights from static code analysis and human reviews.
CALIXTO, Felipe Emerson de Oliveira.
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
Ciência da Computação
title_short Technical debt in pull requests : insights from static code analysis and human reviews.
title_full Technical debt in pull requests : insights from static code analysis and human reviews.
title_fullStr Technical debt in pull requests : insights from static code analysis and human reviews.
title_full_unstemmed Technical debt in pull requests : insights from static code analysis and human reviews.
title_sort Technical debt in pull requests : insights from static code analysis and human reviews.
author CALIXTO, Felipe Emerson de Oliveira.
author_facet CALIXTO, Felipe Emerson de Oliveira.
author_role author
dc.contributor.none.fl_str_mv ARAÚJO, Eliane Cristina de.
ARAUJO, E. C.
http://lattes.cnpq.br/8032715047993974
ALVES, Everton Leandro Galdino.
ALVES, E. L. G.
http://lattes.cnpq.br/2793969744497453
MASSONI, Tiago Lima.
KULESKA, Uira.
dc.contributor.author.fl_str_mv CALIXTO, Felipe Emerson de Oliveira.
dc.subject.por.fl_str_mv 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
Ciência da Computação
topic 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
Ciência da Computação
description 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.
publishDate 2025
dc.date.none.fl_str_mv 2025-09-02
2025-10-07T19:32:37Z
2025-10-07
2025-10-07T19:32:37Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://dspace.sti.ufcg.edu.br/handle/riufcg/43638
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.
url https://dspace.sti.ufcg.edu.br/handle/riufcg/43638
identifier_str_mv 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.
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1851784718443347968