João Eduardo Montandon de Araujo Filho


Áreas de Pesquisa: Formação Acadêmica:

Doutor, UFMG, Brasil, 2021

Sala: 4324
Ramal: 7543
joao@dcc.ufmg.br

Página pessoal     Lattes    Google scholar 


Informações resumidas do Currículo Lattes

Currículo Lattes atualizado em 08/09/2024

Nome em citações bibliográficas: ARAUJO FILHO, J. E. M.;ARAUJO, J. E. M.;MONTANDON, J. E.;MONTANDON, JOÃO EDUARDO;MONTANDON, JOAO EDUARDO


Projetos de pesquisa em andamento

2023 a AtualModernização Tecnológica de Sistemas de Software Usando Modelos de Linguagem
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.
Integrantes: Marco Túlio de Oliveira Valente (coordenador), João Eduardo Montandon de Araujo Filho, Luciana Lourdes Silva.
2022 a AtualAvaliação de Técnicas Modernas para Melhoria da Produtividade de Atividades de Desenvolvimento de Software
Segundo algumas consultorias, o mercado global de desenvolvimento de software deve crescer a taxas anuais de dois dígitos ao longo desta década. Essa demanda é causada pela digitalização da economia, que se acelerou bastante com a pandemia. Por outro lado, existe uma grande escassez de desenvolvedores de software, o que limita a velocidade de tais processos de digitalização. Essa escassez é global, mas ocorre de forma nítida também no Brasil. Por exemplo, estima-se que serão abertas 420 mil vagas para desenvolvedores até 2024, enquanto apenas 46 mil profissionais são formados por ano pelas universidades brasileiras. Para atenuar esse problema, duas iniciativas têm se destacado. (1) Está surgindo uma nova geração de ferramentas que facilitam a implementação de sistemas por parte de pessoas sem formação em programação, as quais são conhecidas pelo nome genérico de ferramentas no-code/low-code. Um estudo recente do Gartner Group estima que, em 2024, 65% dos sistemas serão implementados por meio de tais ferramentas (evidentemente, esses sistemas estão na ?base da pirâmide?, em termos de complexidade). (2) Diversos sistemas de Inteligência Artificial estão surgindo para incrementar a produtividade dos atuais desenvolvedores de software. Recentemente, por exemplo, a plataforma CoPilot foi proposta pelo GitHub para apoiar a geração automática do código de funções a partir apenas do nome de tais elementos. Porém, não conhecemos os benefícios e limitações dessas duas categorias de ferramentas, incluindo seus impactos em termos de evolução, manutenção e qualidade do código gerado. Assim, neste projeto, pretendemos conduzir uma avaliação sistemática de aspectos técnicos -- ancorados em bons princípios de Engenharia de Software -- que decorrem do uso de plataformas modernas para aumento da produtividade de atividades de desenvolvimento de software, incluindo plataformas no-code/low-code e também ferramentas para geração automática de código usando técnicas de IA. Financiamento: CNPq (Processo: 403512/2021-2) - Valor financiado: R$ 100.700,00.
Integrantes: Marco Túlio de Oliveira Valente (coordenador), João Eduardo Montandon de Araujo Filho, SILVA, LUCIANA L., Guilherme Avelino, Pedro de Alcântara dos Santos Neto.

Projetos de desenvolvimento em andamento

Veja todos os projetos no Currículo Lattes

Últimas publicações

Artigos em periódicos

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 (DORDRECHT. ONLINE).
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.
Are game engines software frameworks? A three-perspective study
2021. JOURNAL OF SYSTEMS AND SOFTWARE.

Trabalhos completos em congressos

Unboxing Default Argument Breaking Changes in Scikit Learn
2023. 23rd IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM).
Video Game Project Management Anti-patterns
2022. Workshop on Games and Software Engineering (GAS).
Mining the Technical Skills of Open Source Developers
2022. Congresso da Sociedade Brasileira de Computação.
TechSpaces: Identifying and Clustering Popular Programming Technologies
2022. SBCARS 2022: 16th Brazilian Symposium on Software Components, Architectures, and Reuse.
Identifying Experts in Software Libraries and Frameworks among GitHub Users
2019. International Conference on Mining Software Repositories (MSR).
Resultados da Primeira Rede de Sensores de Auscultação de Barragens Sem Fio, Autonômica e de Baixo Custo da Cemig GT
2017. IX Congresso de Inovação Tecnológica em Energia Elétrica. 3
Documenting APIs with Examples: Lessons Learned with the APIMiner Platform
2013. 20th Working Conference on Reverse Engineering (WCRE). 4

Resumos expandidos em congressos

APIMiner 2.0: Uma Plataforma para Recomendação de Exemplos de Uso de APIs Baseados em Padrões de Uso
2013. IV Congresso Brasileiro de Software: Teoria e Prática.
APIMiner: Uma Plataforma para Recomendação de Exemplos de Uso de APIs
2012. III Congresso Brasileiro de Software: Teoria e Prática.
Os Defeitos Detectados pela Ferramenta de Análise Estática FindBugs são Relevantes?
2010. IX Simpósio Brasileiro de Qualidade de Software.

Resumos em congressos

Uma Meta-Ferramenta para Detecção de Defeitos
2010. VII Workshop de Manutenção de Software Moderna.

Veja todas as publicações no Currículo Lattes

Orientações em andamento

Mestrado

Larissa Nazaré Bicalho. Code Smells em Testes End-to-End Implementados com Cypress. Início: 2021. Universidade Federal de Minas Gerais (Co orientador)

Doutorado

Veja todas as orientações no Currículo Lattes

Acesso por PERFIL

Pular para o conteúdo