http://repositorio.unb.br/handle/10482/55732| Fichier | Taille | Format | |
|---|---|---|---|
| WalterLucasMonteiroDeMendonca_TESE.pdf | 9,16 MB | Adobe PDF | Voir/Ouvrir |
| Titre: | A Socio-Technical Grounded Theory About Source Code Rejuvenation |
| Autre(s) titre(s): | Uma teoria fundamentada sociotécnica sobre o rejuvenescimento do código-fonte |
| Auteur(s): | Mendonça, Walter Lucas Monteiro de |
| Orientador(es):: | Almeida, Rodrigo Bonifácio de |
| Coorientador(es):: | Saraiva, João Alexandre Baptista Vieira |
| Assunto:: | Engenharia de software Evolução de software Manutenção de software |
| Date de publication: | 21-aoû-2026 |
| Data de defesa:: | 23-avr-2026 |
| Référence bibliographique: | MENDONÇA, Walter Lucas Monteiro de. A Socio-Technical Grounded Theory About Source Code Rejuvenation. 2026. 257 f., il. Tese (Doutorado em Informática) — Universidade de Brasília, Brasília, 2026. |
| Résumé: | A evolução contínua das linguagens de programação trouxe benefícios e novos desafios para os desenvolvedores de software. Nos últimos anos, observou-se um ritmo acelerado no lançamento de novas versões de linguagens de programação. Contribuintes e mantenedores dessas linguagens sugerem que tais avanços melhoram a produtividade e a qualidade do software. No entanto, esse cenário impôs um desafio recorrente aos desenvolvedores: como manter sistemas legados atualizados frente à constante evolução das linguagens? Esta tese investigou esse problema ao aprofundar o entendimento sobre o fenômeno do rejuvenescimento de código-fonte, entendido como um tipo particular de migração de software cujo objetivo é substituir construções e padrões legados por alternativas modernas, evitando a obsolescência dos sistemas. O objetivo central foi compreender as motivações, desafios e práticas adotadas por desenvolvedores ao conduzir esforços de rejuvenescimento em sistemas em constante evolução. Para alcançar esse objetivo, foi conduzido um estudo de métodos mistos, fundamentado na abordagem de Socio-Technical Grounded Theory (STGT). A tese foi composta por quatro estudos complementares. Realizaram-se, inicialmente, entrevistas semiestruturadas com 29 desenvolvedores profissionais, com o objetivo de compreender percepções, desafios e práticas relacionadas ao rejuvenescimento de código. Esses dados qualitativos motivaram e orientaram a realização de três estudos de mineração de repositórios de software em larga escala, abrangendo diferentes linguagens de programação (C++, JavaScript e Python). Tais estudos combinaram análise de séries temporais para caracterizar tendências de adoção de funcionalidades modernas, evidências qualitativas oriundas de discussões em pull requests e um inquérito com desenvolvedores que realizaram esforços de rejuvenescimento. A partir da integração dos estudos de mineração com os dados das entrevistas, foi conduzido um estudo final, em que as informações foram analisadas de forma iterativa e comparativa, resultando na construção de uma teoria sociotécnica emergente provinda desses dados. Como resultado, esta tese propôs uma teoria sociotécnica que explicou como, quando e por que o rejuvenescimento de código ocorreu em sistemas legados em constante evolução. Os resultados mostraram que o rejuvenescimento não ocorreu de forma uniforme, sendo influenciado por fatores técnicos, organizacionais e humanos, bem como por estratégias adotadas pelos desenvolvedores para gerenciar riscos, custos e esforço. Por fim, esta tese contribuiu tanto para a pesquisa quanto para a prática, oferecendo uma explicação abrangente do fenômeno e fornecendo subsídios para apoiar desenvolvedores e organizações na condução de esforços de rejuvenescimento de forma segura e eficaz. |
| Abstract: | The continuous evolution of programming languages has brought benefits and new chal lenges for software developers. Recently, there has been an accelerated pace in the re lease of new versions of programming languages. Contributors and maintainers of these languages suggest that such advancements improve productivity and software quality. However, this scenario has imposed a recurring challenge on developers: how to keep legacy systems updated in the face of the constant evolution of languages? This thesis investigated this problem by deepening the understanding of the phenomenon of code rejuvenation, understood as a particular type of software migration whose objective is to replace legacy constructs and patterns with modern alternatives, avoiding system obsoles cence. The central objective was to understand the motivations, challenges, and practices adopted by developers when conducting rejuvenation efforts in constantly evolving sys tems. To achieve this objective, a mixed-methods study was conducted based on the Socio-Technical Grounded Theory (STGT) approach. The thesis was composed of four complementary studies. Initially, semi-structured interviews were conducted with 23 pro fessional developers, with the aim of understanding perceptions, challenges, and practices related to code rejuvenation. These qualitative data motivated and guided the conduct of three large-scale software repository mining studies, covering different programming languages (C++, JavaScript, and Python). Such studies combined time series analysis to characterize trends in the adoption of modern features, qualitative evidence from discus sions in pull requests, and a survey with developers who undertook rejuvenation efforts. Through the integration of mining studies with interview data, six new interviews were conducted in a final study, where the information was analyzed iteratively and compar atively, resulting in the construction of an emerging sociotechnical theory derived from these data. As a result, this thesis proposed a sociotechnical theory that explained how, when, and why code rejuvenation occurred in constantly evolving legacy systems. The results indicated that rejuvenation does not occur uniformly, being influenced by techni cal, organizational, and human factors, as well as by strategies adopted by developers to manage risks, costs, and efforts. Finally, this thesis contributed both to academia and practice, offering a comprehensive explanation of the phenomenon and providing support for developers and organizations in conducting rejuvenation efforts safely and effectively. |
| metadata.dc.description.unidade: | Instituto de Ciências Exatas (IE) Departamento de Ciência da Computação (IE CIC) |
| Description: | Tese (doutorado) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, Programa de Pós-Graduação em Informática, 2026. |
| metadata.dc.description.ppg: | Programa de Pós-Graduação em Informática |
| Licença:: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.unb.br, www.ibict.br, www.ndltd.org sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra supracitada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data. |
| Collection(s) : | Teses, dissertações e produtos pós-doutorado |
Tous les documents dans DSpace sont protégés par copyright, avec tous droits réservés.