Technical debt in pull requests : insights from static code analysis and human reviews.
| Ano de defesa: | 2025 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |