um podcast de divulgação científica
Reparo Automático de Programas, com Fernanda Madeiral (Vrije Universiteit Amsterdam)
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)
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
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.
(em breve)
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.