Marco Túlio de Oliveira Valente
CNPq research fellow: 1D
Research areas: Degrees:
PhD, UFMG, Brasil, 2002
Phone: 5586
mtov@dcc.ufmg.br
Home page
Lattes
Google scholar Information extracted from Lattes platform
Last update: 2026/08/24ORCID: https://orcid.org/0000-0002-8180-7548
Current projects
| 2025 a Atual | Melhoria de Aspectos da Produtividade de Desenvolvimento de Software usando Modelos de Linguagem (CNPq - Apoio a Projetos em Rede com Pesquisadores Brasileiros no Exterior) Este projeto tem como objetivo avaliar, investigar e propor soluções com foco no aumento da produtividade dos desenvolvedores de software. Neste contexto, acreditamos que os avanços recentes no campo de Processamento de Linguagem Natural, em especial os Modelos de Linguagem, permitirão que novas soluções sejam criadas e auxiliem na realização de tarefas complexas de desenvolvimento de software. Valor financiado: R$ 263.635,00 Integrantes: João Eduardo Montandon de Araujo Filho (coordenador), Marco Tulio de Oliveira Valente, Eduardo Figueiredo, Andre Hora, PETRILLO, FABIO, POLITOWSKI, CRISTIANO, Diego Costa. |
| 2025 a Atual | Aplicações de LLMs em Engenharia de Software (CNPq - Edital Universal - R$ 210.810) Os avanços recentes em Inteligência Artificial (IA), particularmente na IA Generativa e em Modelos de Linguagem de Grande Escala (LLMs), levantam questões importantes sobre seu impacto em diversos domínios, incluindo a Engenharia de Software. Por exemplo, estudos recentes indicam uma adoção significativa dessas tecnologias por parte de desenvolvedores de software. Portanto, essas ferramentas não são mais uma promessa, mas sim uma tecnologia que rapidamente ganhou adoção prática no domínio de desenvolvimento de software. Por outro lado, existem casos de uso mais sofisticados e avançados nos quais a aplicação de LLMs em Engenharia de Software é menos óbvia e, consequentemente, mais desafiadora. Neste projeto de pesquisa, pretendemos explorar o uso de LLMs para além de contextos triviais e recorrentes de geração de código. Especificamente, escolhemos três desafios clássicos de Engenharia de Software para investigar no nosso projeto: (1) geração de aplicações, no qual pretendemos investigar o uso de LLMs para a criação de aplicações completas que incluam desde a interface com os usuários até os repositórios de dados e que considerem não apenas requisitos funcionais, mas também requisitos como desempenho, usabilidade e segurança. (2) modernização de APIs e das linguagens de programação usadas em um sistema, no qual pretendemos explorar o potencial de LLMs para apoiar tais atividades importantes para garantir a longevidade de sistemas de software; (3) melhoria de qualidade de código, na qual pretendemos aplicar LLMs para identificar e avaliar problemas de design e compreensão de código, incluindo aqueles que podem ocorrer em sistemas de domínio específico (como linguagens funcionais, contratos inteligentes e sistemas de IA, por exemplo). Portanto, pretendemos propor um conjunto de boas práticas, bem como ferramentas e interfaces customizadas para apoiar o uso de LLMs em contextos não-triviais de geração, modernização e melhoria de qualidade dos sistemas de software. Integrantes: Marco Tulio de Oliveira Valente (coordenador), João Eduardo Montandon de Araujo Filho, Andre Hora, Luciana Silva, Guilherme Avelino, Pedro de Alcântara dos Santos Neto, Carla Ilane Moreira Bezerra, Anderson Gonçalves Uchôa. |
| 2024 a Atual | Engenharia de Software com Apoio de Modelos de Linguagem de Grande Escala (CNPq - Bolsa de Produtividade em Pesquisa) De forma geral, esperamos que este projeto contribua para tornar mais cientificamente claro os benefícios e as limitações do uso de Modelos de Linguagem em atividades de construção e manutenção de software. Acreditamos que essa é uma dúvida central de todo e qualquer praticante da área nos dias atuais, daí portanto a relevância e atualidade do problema de pesquisa proposto. De forma mais específica, esperamos que as contribuições ocorram em dois grandes grupos principais: (1) Esperamos propor boas práticas para criação de prompts para Modelos de Linguagem, no contexto de construção de sistemas de software, assumindo um cenário de desenvolvimento greenfield, isto é, quando o sistema é construído do zero, com pouco ou nenhum código legado. (2) Esperamos disponibilizar plug-ins para Modelos de Linguagem com foco em tarefas específicas de manutenção de software, incluindo identificação de code smells, migração de versões de linguagens de programação, migração de um framework para outro, para adaptação de sistemas a breaking changes em APIs e, finalmente, para remodularização de arquiteturas de software. Integrantes: Marco Tulio de Oliveira Valente (coordenador). |
| 2023 a Atual | Modernização Tecnológica de Sistemas de Software usando Modelos de Linguagens (FAPEMIG Universal 2023) Neste projeto, pretende-se avaliar, projetar e implementar ferramentas para ajudar desenvolvedores a adaptar seus sistemas de software a novas tecnologias de programação, incluindo linguagens, bibliotecas e frameworks. Apesar de ser um problema conhecido (mas ainda não resolvido), nossa principal motivação para investigá-lo deve-se ao surgimento e popularização de modelos de linguagens (Large Language Models), sendo o mais conhecido deles o ChatGPT. Ou seja, acreditamos que os avanços recentes proporcionados por esses modelos podem viabilizar novas ferramentas para apoiar desenvolvedores na relevante tarefa de modernização tecnológica dos seus sistemas. Assim, temos quatro objetivos específicos: (1) pretendemos investigar o uso de de modelos de linguagens para adaptar sistemas a versões mais novas de uma linguagem de programação. Por exemplo, pretendemos investigar soluções que permitam migrar sistemas escritos em uma versão antiga de uma linguagem (exemplo: Python 2.7) para uma versão mais nova (exemplo: Python 3). (2) planejamos investigar soluções baseadas em modelos de linguagens para adaptar sistemas a versões mais novas de uma biblioteca ou framework. Por exemplo, as APIs fornecidas para criação de aplicativos móveis frequentemente mudam a forma de acesso aos dados e sensores disponíveis nos smartphones, forçando os desenvolvedores a adaptarem manualmente seus aplicativos para as novas restrições. (3) Pretendemos também investigar soluções para adaptar sistemas a uma nova biblioteca ou framework. A migração entre APIs de componentes distintosde pytest para unittest, por exemploocorre muitas vezes manualmente. Portanto, pretendemos investigar soluções para apoiar o processo de troca dos componentes de um sistema. (4) por fim, mas não menos importante, estamos propondo uma investigação de soluções para adaptar a organização arquitetural de sistemas. Por exemplo, migrar sistemas legados para arquiteturas modernas baseadas em microsserviços. Financiamento: FAPEMIG (Processo APQ-02419-23) - Valor financiado: R$ 99.690,88 Integrantes: Marco Tulio de Oliveira Valente (coordenador), João Eduardo Montandon de Araujo Filho, Luciana Silva. |
Current applied research projects
Recent publications
Articles in journals
Property-based testing in Python: empirical insights2027. EMPIRICAL SOFTWARE ENGINEERING.
Mind the Gap: Linking Refactorings and Code Smells in Elixir
2026. Journal of Software-Evolution and Process.
NoCodeGPT: A No¿Code Interface for Building Web Apps With Language Models
2025. SOFTWARE-PRACTICE & EXPERIENCE.
Detection of code smells in react with TypeScript applications
2025. INFORMATION AND SOFTWARE TECHNOLOGY.
Understanding refactorings in Elixir functional language
2025. EMPIRICAL SOFTWARE ENGINEERING.
Towards a catalog of composite refactorings
2024. Journal of Software-Evolution and Process.
Source code expert identification: Models and application
2024. INFORMATION AND SOFTWARE TECHNOLOGY.
Refactoring react-based Web apps
2024. JOURNAL OF SYSTEMS AND SOFTWARE.
Detecting code smells in react-based Web apps
2023. INFORMATION AND SOFTWARE TECHNOLOGY.
Understanding code smells in Elixir functional language
2023. EMPIRICAL SOFTWARE ENGINEERING.
Snapshot testing in practice: Benefits and drawbacks
2023. JOURNAL OF SYSTEMS AND SOFTWARE.
Agile Technical Debt Management using the LTD Framework
2023. SOFTWARE ENGINEERING NOTES.
On the (un-)adoption of JavaScript front-end frameworks
2022. SOFTWARE: PRACTICE AND EXPERIENCE.
Comments or Issues: Where to Document Technical Debt?
2022. IEEE SOFTWARE.
On the documentation of self-admitted technical debt in issues
2022. EMPIRICAL SOFTWARE ENGINEERING.
Are game engines software frameworks? A three-perspective study
2021. JOURNAL OF SYSTEMS AND SOFTWARE.
What skills do IT companies look for in new developers? A study with Stack Overflow jobs
2021. INFORMATION AND SOFTWARE TECHNOLOGY.
Mining the Technical Roles of GitHub Users
2021. INFORMATION AND SOFTWARE TECHNOLOGY.
Characterizing refactoring graphs in Java and JavaScript projects
2021. EMPIRICAL SOFTWARE ENGINEERING.
RefDiff 2.0: A Multi-Language Refactoring Detection Tool
2021. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING.
A Semi-automatic Approach for Extracting Software Product Lines2012. IEEE Transactions on Software Engineering.
A dependency constraint language to manage object-oriented software architectures2009. Software, Practice & Experience.
Papers in conferences
Using Copilot Agent Mode to Automate Library Migration: A Quantitative Assessment2026. AGENT '26: International Workshop on Agentic Engineering.
On the Quality of AI-Generated Source Code Comments: A Comprehensive Evaluation
2026. AISQE '26: 1st International Workshop on AI for Software Quality Evaluation Judgment, Metrics, Benchmarks, and Beyond.
Decoding the Configuration of AI Coding Agents: Insights from Claude Code Projects
2026. AGENT '26: International Workshop on Agentic Engineering.
Identificação de Smells em Testes Fim-a-Fim Implementados em Cypress
2024. XII Workshop de Visualização, Evolução e Manutenção de Software (VEM).
Unboxing Default Argument Breaking Changes in Scikit Learn
2023. 2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM).
Understanding Refactoring Tasks over Time: A Study Using Refactoring Graphs
2022. Congresso IberoAmericano em Engenharia de Software.
Identifying Source Code File Experts
2022. ESEM '22: ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.
TechSpaces: Identifying and Clustering Popular Programming Technologies
2022. SBCARS 2022: 16th Brazilian Symposium on Software Components, Architectures, and Reuse.
Software engineering meets deep learning
2021. SAC '21: The 36th ACM/SIGAPP Symposium on Applied Computing.
Assessing the threat of untracked changes in software evolution2018. the 40th International Conference.
Why modern open source projects fail2017. the 2017 11th Joint Meeting.
Why we refactor? confessions of GitHub contributors2016. the 2016 24th ACM SIGSOFT International Symposium.
Extended abstracts in conferences
Code Smells and Refactorings for Elixir2025. XXXVIII Concurso de Teses e Dissertações (CTD).
Detecting Code Smells using ChatGPT: Initial Insights
2024. ESEM '24: ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.
Automatic Library Migration Using Large Language Models: First Results
2024. ESEM '24: ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.
How Developers Implement Property-Based Tests
2023. 2023 IEEE International Conference on Software Maintenance and Evolution (ICSME).
Towards a Catalog of Refactorings for Elixir
2023. 2023 IEEE International Conference on Software Maintenance and Evolution (ICSME).
GitHub Proxy Server: A tool for supporting massive data collection on GitHub
2022. SBES 2022: XXXVI Brazilian Symposium on Software Engineering.
Code smells in Elixir
2022. ICPC '22: 30th International Conference on Program Comprehension.
Como os mantenedores usam GitHub Reactions? Um estudo exploratório
2022. Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM).
Abstracts in conferences
Modelo de Gestão de Demandas de Manutenção de Software: a Experiência da PUC Minas2009. VI Workshop de Manutenção de Software Moderna.
Uma Extensão de Pascal Orientada a Objetos
1992. XV Congresso Nacional de Matemática Aplicada e Computacional.
EdTeX: Um Editor de Textos para o LaTeX
1991. V Simpósio Brasileiro de Engenharia de Software - Feira de Ferramentas.
See all publications in Lattes
