47: Reparo automático de programas, com Fernanda Madeiral (Vrije Universiteit Amsterdam)

47: Reparo automático de programas, com Fernanda Madeiral (Vrije Universiteit Amsterdam)

Author: Rede Emílias de Podcasts June 19, 2024 Duration: 1:15:06

Neste episódio do podcast Fronteiras da Engenharia de Software, os apresentadores, Professor Adolfo Neto e Professora Maria Cláudia Emer, entrevistam Fernanda Madeiral, professora assistente na Vrije Universiteit Amsterdam, sobre o tema de reparo automático de programas.

Fernanda Madeiral começa explicando o conceito de reparo de programas, focando inicialmente na correção de bugs. Ela detalha o processo em três etapas: localização do bug no código (fault localization), modificação do código para gerar um patch e validação do patch através de testes. Fernanda menciona que, embora esses patches possam passar nos testes, eles nem sempre são soluções corretas, dando origem ao conceito de patches plausíveis. 

Além dos bugs, Fernanda aborda outros problemas de qualidade de software, como code smells e violações de linters, que também podem ser considerados no contexto de reparo automático. Ela explica que os linters são ferramentas de análise estática que identificam violações de regras de codificação sem precisar executar o código, tornando o processo de reparo mais leve comparado ao uso de testes.

O episódio também explora a evolução das técnicas de reparo de programas, desde as tradicionais, baseadas em templates predefinidos e mineração de templates, até as mais modernas, que utilizam aprendizado de máquina e modelos de linguagem avançados (large language models) como o ChatGPT para gerar patches.

Fernanda destaca a importância dessas novas abordagens e como elas têm potencial para melhorar a eficiência e a eficácia do reparo automático de programas, beneficiando tanto desenvolvedores quanto usuários ao agilizar a correção de bugs e outros problemas de qualidade no código.

O episódio conclui com uma discussão sobre o futuro da pesquisa em reparo automático de programas e o impacto das novas tecnologias na área.

Site de Fernanda: https://fermadeiral.github.io/

Perfil de Fernanda no X/Twitter: https://x.com/fermadeiral 

Artigos

- Styler: learning formatting conventions to repair Checkstyle violations (2022) https://arxiv.org/abs/1904.01754 

- Sorald: Automatic Patch Suggestions for SonarQube Static Analysis Violations (2022) https://arxiv.org/abs/2103.12033 

- Empirical review of Java program repair tools: A large-scale experiment on 2,141 bugs and 23,551 repair attempts (2019) https://arxiv.org/abs/1905.11973 

- Bears: An Extensible Java Bug Benchmark for Automatic Program Repair Studies (2019) https://arxiv.org/abs/1901.06024 

Links:

Episódio do Fronteiras com Marcelo Maia (em duas partes)

https://podcasters.spotify.com/pod/show/fronteirases/episodes/4--Code-smells-com-Marcelo-Maia-UFU---Parte-1-ejkpqr

https://podcasters.spotify.com/pod/show/fronteirases/episodes/4--Code-smells-com-Marcelo-Maia-UFU---Parte-2-ekctv0 

  

Seminário com Fernanda Madeiral: Reparo automatizado de violações encontradas por Checkstyle

https://www.youtube.com/live/42st94i1nDI

Episódio do Fronteiras com Fernando Castor

https://podcasters.spotify.com/pod/show/fronteirases/episodes/13-Compreenso-de-Cdigo-com-Fernando-Castor-UFPE-e12ssjs 

Mais informações em ⁠⁠⁠⁠https://fronteirases.github.io/episodios/paginas/47 

 

Entrevistadores: Adolfo Neto (PPGCA UTFPR) ⁠⁠⁠⁠⁠https://adolfont.github.io⁠ ⁠  e Maria Claudia Emer

Nosso site é: ⁠⁠⁠https://fronteirases.github.io ⁠  

Extreme Energy (Music Today 80). Composed & Produced by: Anwar Amr. Link:⁠ ⁠⁠⁠⁠⁠https://www.youtube.com/watch?v=8ZZbAkKNx7s⁠⁠⁠ 

 

Data de publicação: 19 de junho de 2024.

Como citar este episódio

FRONTEIRAS DA ENGENHARIA DE SOFTWARE EP. 47:  Reparo Automático de Programas, com Fernanda Madeiral (Vrije Universiteit Amsterdam). [Locução de]: Adolfo Neto e Maria Claudia Emer. Entrevistada: Fernanda Madeiral. S. l.: Fronteiras da Engenharia de Software, 19 jun. 2024. Podcast. Disponível em: ⁠⁠https://fronteirases.github.io/episodios/paginas/47. ⁠Acesso em: 19 jun. 2024.



Mergulhar nas questões mais complexas e fascinantes do desenvolvimento de software requer um espaço para conversas profundas e acessíveis. É nesse terreno que Fronteiras da Engenharia de Software se estabelece, criando um diálogo mensal com pesquisadores que estão literalmente moldando a área. Cada episódio é uma oportunidade de escutar as vozes que conduzem estudos acadêmicos sérios, traduzindo suas descobertas e reflexões sobre para onde a tecnologia está nos levando. Este não é um conteúdo técnico superficial, mas uma janela para os laboratórios e as mentes que investigam desde os fundamentos até as tendências emergentes. A proposta é conectar a prática do dia a dia com a investigação científica de ponta, mostrando como uma influencia a outra. O podcast funciona como uma atividade de divulgação científica vinculada ao Programa de Pós-Graduação em Computação Aplicada da UTFPR em Curitiba e ao projeto Emílias-Armação em Bits, integrando a Rede Emílias de Podcasts sob a coordenação de Adolfo Neto. Ao ouvir, você será conduzido por discussões que desafiam o status quo, explora novas metodologias e pondera os impactos éticos e sociais da nossa constante evolução digital. É para quem tem curiosidade sobre os alicerces do que construímos e para onde podemos ir.
Author: Language: Portuguese Episodes: 86

Fronteiras da Engenharia de Software
Podcast Episodes
13: Compreensão de Código com Fernando Castor (UFPE) [not-audio_url] [/not-audio_url]

Duration: 1:03:48
Conversamos com Fernando Castor, professor da UFPE, sobre compreensão de código. Sites de Castor http://cin.ufpe.br/~fjclf https://sites.google.com/a/cin.ufpe.br/castor/ http://fernandocastor.github.io/ https://twitter.c…
12: Modularidade de Software com Paulo Borba (UFPE) [not-audio_url] [/not-audio_url]

Duration: 52:45
Paulo Borba fez doutorado em Oxford e hoje é professor titular no Centro de Informática da UFPE. Paulo investiga e desenvolve ferramentas e técnicas para melhorar os níveis de produtividade e qualidade de desenvolvimento…
#11. Reuso de Software com Eduardo Almeida (UFBA) [not-audio_url] [/not-audio_url]

Duration: 1:20:59
Eduardo Almeida é professor associado na Universidade Federal da Bahia (UFBA). Além de professor, Eduardo já acumulou diversas outras funções. Foi diretor-presidente da FAPESB (a Fundação de Amparo e Pesquisa da Bahia) d…
#10. User Experience (UX) com Tayana Conte (UFAM) [not-audio_url] [/not-audio_url]

Duration: 1:02:54
Conversamos com Tayana Conte (UFAM) sobre UX (User eXperience) e sobre a participação dela como coordenadora da CEES (Comissão Especial de Engenharia de Software). Site da Tayana http://icomp.ufam.edu.br/site/index.php/i…
#9. Ensino de Engenharia de Software com Marco Tulio Valente (UFMG) [not-audio_url] [/not-audio_url]

Duration: 1:02:01
Conversamos com Marco Tulio Valente, professor da Universidade Federal de Minas Gerais (UFMG), sobre Ensino de Engenharia de Software e outros temas. Links da Marco: Página na UFMG: https://homepages.dcc.ufmg.br/~mtov/in…
#8. Arquitetura de Software com Ingrid Nunes (UFRGS) [not-audio_url] [/not-audio_url]

Duration: 1:29:23
Conversamos com Ingrid Nunes, professora da Universidade Federal do Rio Grande do Sul (UFRGS), sobre Arquitetura de Software e outros temas. Links da Ingrid: Site pessoal: https://www.inf.ufrgs.br/~ingridnunes/ DBLP: htt…
#7. IA na Engenharia de Software com Silvia Regina Vergilio (UFPR) [not-audio_url] [/not-audio_url]

Duration: 51:42
Silvia Regina Vergilio é Professora Titular da Universidade Federal do Paraná (UFPR). Conversamos com ela sobre Engenharia de Software Baseada em Busca e IA em Engenharia de Software. Sites da Silvia http://www.inf.ufpr.…
#6. Integração Contínua com Uirá Kulesza (UFRN) [not-audio_url] [/not-audio_url]

Duration: 51:59
Uirá Kulesza é professor na UFRN, onde lidera o grupo de pesquisa CASE, Collaborative & Automated Software Engineering (CASE Lab - http://caseufrn.github.io). Uirá trabalha na área de engenharia de software, orientando a…
#5. Refactoring com Alessandro Garcia (PUC-Rio) [not-audio_url] [/not-audio_url]

Duration: 1:05:57
Na entrevista de hoje conversamos com Alessandro Garcia, professor da PUC-Rio, sobre degradação de design e refatoração. Ele é Professor Associado do Departamento de Informática, onde atua na área de Engenharia de Softwa…
#4. Code smells com Marcelo Maia (UFU) - Parte 2 [not-audio_url] [/not-audio_url]

Duration: 44:13
Na entrevista de hoje falamos com Marcelo Maia, que é professor titular da UFU. Marcelo tem ampla experiência em engenharia de software, tanto que a nossa conversa sobre code smells rendeu tanto que dividimos em duas par…