um podcast de divulgação científica
Fronteiras da Engenharia de Software
[46: Localização de Falhas de Software, com Rui Maranhão Abreu (Universidade do Porto e Meta)]{.mark}
Rui Maranhao Abreu
[https://ruimaranhao.com/]{.underline}
Full Professor in Software Engineering at FEUP, Entrepreneur, Google/PARC alumnus; husband and father of three.
Links:
"Remoção de Código Morto na Meta: Exclusão Automática de Milhões de Linhas de Código e Petabytes de Dados Obsoletos"
"Dead Code Removal at Meta: Automatically Deleting Millions of Lines of Code and Petabytes of Deprecated Data"
[https://dl.acm.org/doi/10.1145/3611643.3613871]{.underline}
Localização de características baseada em espectro: um estudo de caso usando o ArgoUML.
Spectrum-based feature localization: a case study using ArgoUML
[https://dl.acm.org/doi/abs/10.1145/3461001.3473065]{.underline}
Depuração de Erros de Tipo Alimentada por GPT-3: Investigando o Uso de Modelos de Linguagem Avançados para Reparo de Código
GPT-3-Powered Type Error Debugging: Investigating the Use of Large Language Models for Code Repair
[https://dl.acm.org/doi/abs/10.1145/3623476.3623522]{.underline}
Mentat (ferramenta) [https://figshare.com/articles/software/GPT-3-Powered_Type_Error_Debugging_Investigating_the_Use_of_Large_Language_Models_for_Code_Repair_SLE_2023_/23646903]{.underline}
The bumpy road of taking automated debugging to industry
[https://arxiv.org/abs/2212.01237]{.underline}
Tema principal: Localização de falhas de software
~1:01 pergunta do ICSE 2024 -> talvez criar clipe
[https://conf.researchr.org/home/icse-2024]{.underline}
FSE 2024
[https://conf.researchr.org/home/fse-2024]{.underline}
ICSE 2026
[https://twitter.com/rafaelpri/status/1543318975043383296]{.underline}
Fazer post nos blogs devto e ese blogspot
+———————————————————————–+ | [46: Localização de Falhas de Software, com Rui Maranhão Abreu | | (Universidade do Porto e Meta)]{.mark} | +=======================================================================+ | Este episódio do podcast "Fronteiras da Engenharia de Software" com | | Rui Maranhão Abreu aborda a localização de falhas de software e suas | | aplicaçõe. Rui, professor catedrático em Engenharia de Software na | | Universidade do Porto e Research Software Engineer na Meta, | | compartilha ideias sobre esse campo da Engenharia de Software. | | | | No episódio, são discutidos conceitos fundamentais, como a diferença | | entre falhas e bugs, bem como os desafios enfrentados na detecção de | | falhas em sistemas complexos e distribuídos, especialmente em | | ambientes de integração contínua, como na Meta. Rui também explora o | | papel da inteligência artificial, machine learning e deep learning na | | localização de falhas e destaca avanços recentes na pesquisa de | | reparo automatizado de programas. | | | | Além disso, são abordados artigos recentes de Rui e seus co-autores, | | incluindo o "Remoção de Código Morto na Meta", que apresenta o | | Framework de Remoção Sistemática de Código e Ativos (SCARF), e | | "Depuração de Erros de Tipo Alimentada por GPT-3", que descreve uma | | técnica para corrigir automaticamente erros de tipo em programas | | OCaml, utilizando o GPT-3. | | | | A conversa também explora a carreira de Rui na Meta, sua experiência | | como General Chair do ICSE 2024 em Portugal e suas visões sobre a | | próxima fronteira da engenharia de software. | | | | Site de Rui: | | [https://ruimaranhao.com/]{.underline} | | | | Outros links: | | | | - [https:// | | sigarra.up.pt/feup/pt/func_geral.formview?p_codigo=466651]{.underline | | } | | | | - [https://dei.fe.up.pt/pt/blog/2023/04/10/rui-maranhao | | -toma-posse-como-diretor-do-prodei/]{.underline} | | | | Artigos: | | | | "Remoção de Código Morto na Meta: Exclusão Automática de Milhões de | | Linhas de Código e Petabytes de Dados Obsoletos" | | | | "Dead Code Removal at Meta: Automatically Deleting Millions of Lines | | of Code and Petabytes of Deprecated Data" | | | | [https://dl.acm.org/doi/10.1145/3611643. | | 3613871]{.underline} | | | | Localização de características baseada em espectro: um estudo de caso | | usando o ArgoUML. | | | | Spectrum-based feature localization: a case study using ArgoUML | | | | [https://dl.acm.org/doi/abs/10.1145/3461001.3473 | | 065]{.underline} | | | | Depuração de Erros de Tipo Alimentada por GPT-3: Investigando o Uso | | de Modelos de Linguagem Avançados para Reparo de Código | | | | GPT-3-Powered Type Error Debugging: Investigating the Use of Large | | Language Models for Code Repair | | | | [https://dl.acm.org/doi/abs/10.1145/3623476.3623 | | 522]{.underline} | | | | Mentat (ferramenta) | | [[https://figshare.com/articles/software/GPT-3-Powere | | d_Type_Error_Debugging_Investigating_the_Use_of_Large_Language_Models | | for_Code_Repair_SLE_2023_/23646903]{.underline}](https://figshare.c | | om/articles/software/GPT-3-Powered_Type_Error_Debugging_Investigating | | _the_Use_of_Large_Language_Models_for_Code_Repair_SLE_2023/23646903) | | | | The bumpy road of taking automated debugging to industry | | | | [https://arx | | iv.org/abs/2212.01237]{.underline} | | | | Outros links: | | | | ICSE 2024 | | [https://conf.researchr.org/ho | | me/icse-2024]{.underline} | | | | FSE 2024 | | [https://conf.researchr.org/ | | home/fse-2024]{.underline} | | | | ICSE 2026 | | [https://twitter.com/rafaelpri/status/1543318975043383296]{. | | underline} | | | | Mais informações em | | [https://fronteirases.github.io/episodios/paginas/ | | 46]{.underline} | | | | Entrevistadores: Adolfo Neto (PPGCA UTFPR) | | | | [https://adolfont.github.io]{.underline} | | e Maria Claudia Emer | | | | Nosso site é: | | [https://fronteirases.github.io]{.underline} | | | | Extreme Energy (Music Today 80). Composed & Produced by: Anwar Amr. | | Link: | | [https://www.youtube.com/watch?v=8ZZbAkKNx7 | | s]{.underline} | | | | Data de publicação: 15 de maio de 2024. | | | | Como citar este episódio | | | | FRONTEIRAS DA ENGENHARIA DE SOFTWARE EP. 46: Localização de Falhas de | | Software, com Rui Maranhão Abreu (Universidade do Porto e Meta). | | [Locução de]: Adolfo Neto e Maria Claudia Emer. Entrevistado: Rui | | Maranhão Abreu. S. l.: Fronteiras da Engenharia de Software, 15 mai. | | 2024. Podcast. Disponível em: | | [https://fronteirases.github.io/episodios/paginas/4 | | 6]{.underline}. | | Acesso em: 15 mai. 2024. | +———————————————————————–+ | [https://podcasters.spotify.com/pod/show/fronteirases/e | | pisodes/46-Localizao-de-Falhas-de-Software--com-Rui-Maranho-Abreu-Un | | iversidade-do-Porto-e-Meta-e2jk866]{.underline}\ | | \ | | [htt | | ps://youtu.be/MVXPUJ_Y0RM]{.underline} | +———————————————————————–+
(ADOLFO)
Olá,
eu sou Adolfo Neto,
professor da UTFPR Curitiba e do Programa de Pós-Graduação em Computação Aplicada (PPGCA).
Este é o Fronteiras…
Estou aqui com a co-host do Fronteiras, Maria Claudia Emer, também da UTFPR Curitiba e do PPGCA.
Tudo bem, Maria Claudia?
(MARIA CLAUDIA) Tudo bem. Preparada para mais uma conversa sobre um tema importante da Engenharia de Software com o nosso entrevistado.
(ADOLFO)
Hoje vamos entrevistar
Rui Maranhão Abreu
Ele é
Professor Catedrático em Engenharia de Software na Faculdade de Engenharia da Universidade do Porto e Research Software Engineer na Meta. Ele também é empreendedor e ex-aluno do Google/PARC.
Tudo bem, Rui, você tem algo a complementar nesta sua apresentação?
(Rui)
(PARTE 2 - CONCEITOS BÁSICOS)
(MARIA CLAUDIA) Vamos começar falando sobre o tema principal desta entrevista: Localização de Falhas de Software. O que são Falhas de Software? Qual é a diferença entre uma falha e um bug?
(Rui)
(ADOLFO) E o que se estuda em Localização de Falhas de Software?
(Rui)
(MARIA CLAUDIA) Quais desafios específicos você identifica na detecção de falhas em sistemas complexos e distribuídos, especialmente em um ambiente de integração e entrega contínua, como é encontrado na Meta?
(Rui)
(ADOLFO)
Como a inteligência artificial, de modo mais geral,
ou machine learning e deep learning, mais especificamente,
são aplicadas na localização de falhas em testes de software?
(Rui)
25:10 pequeno corte
(MARIA CLAUDIA) O ideal seria que falhas não ocorressem. No entanto, uma vez que ocorrem, é crucial identificar sua localização precisa e, em seguida, proceder com a sua correção. Você tem acompanhado o avanço no campo de pesquisa em "Reparo automatizado de programas"?
(PARTE 3 - PESQUISA)
(ADOLFO) Agora vamos falar um pouco de um de seus artigos recentes (com vários co-autores, claro) chamado "Remoção de Código Morto na Meta: Exclusão Automática de Milhões de Linhas de Código e Petabytes de Dados Obsoletos" (o link, com o título original, está na descrição deste episódio). De fato, código morto pode ser um desafio para os Engenheiros de Software que realizam manutenção em um sistema. A remoção deste código morto pode facilitar esta tarefa. Você pode descrever para nós o Framework de Remoção Sistemática de Código e Ativos (SCARF), que remove código morto?
(Rui)
37:49 congelou? Fazer pequeno corte?
Não percebi
OK
// (respondeu) Qual foi o impacto do uso do SCARF na META?
Agora percebi dois congelamentos
Aqui não aconteceu desta vez
Bom. Acho que nem vai aparecer na gravação.
(MARIA CLAUDIA) Agora vamos falar de outro artigo, chamado “Localização de características baseada em espectro: um estudo de caso usando o ArgoUML.” Neste trabalho, você e seus co-autores exploraram o uso da técnica de localização baseada em espectro para a Localização de Características. Esta técnica é tradicionalmente usada para localização de falhas. Quais foram os principais resultados deste trabalho?
(Rui)
(ADOLFO) Um último artigo que gostaríamos que você comentasse é “Depuração de Erros de Tipo Alimentada por GPT-3: Investigando o Uso de Modelos de Linguagem Avançados para Reparo de Código”. Eu li o resumo e achei uma ótima ideia. Vou ler aqui uma parte do resumo: “Os sistemas de tipos (...) embora sejam capazes de sinalizar a existência de um erro, muitas vezes falham em identificar sua causa ou fornecer uma mensagem de erro útil.” Neste artigo, você e seus co-autores apresentam “uma técnica que utiliza as capacidades do GPT-3 para corrigir automaticamente erros de tipo em programas OCaml”.
Como resultado deste artigo, uma ferramenta está disponível: a Mentat.
Você pode nos falar um pouco sobre esta ferramenta e este artigo?
(Rui)
(PARTE 4 - OUTROS TEMAS)
(ADOLFO) Vamos falar agora um pouco sobre sua carreira na Meta.
Como surgiu esta oportunidade?
O que você faz lá?
Como você concilia trabalhar numa empresa BigTech com ser professor da Universidade do Porto?
(Rui)
(MARIA CLAUDIA) Você está no comitê de organização do ICSE 2024 em Portugal, como General Chair. O ICSE 2024 ocorre de 14 a 20 de abril em Lisboa.
Como tem sido a experiência de coordenar um evento tão importante,
possivelmente a mais significativa conferência na área de engenharia de software?
(Rui)
[(PARTE 5 - PRÓXIMA FRONTEIRA)]{.mark}
[(ADOLFO)]{.mark} Para você, qual é a próxima fronteira da engenharia de software? (pode ser algo que você acha que vai acontecer ou que você gostaria que acontecesse em nossa área)
(Rui)
[(PARTE 6 - FINAL)]{.mark}
[[ADOLFO]]{.mark} Agradece e passa para o(a) entrevistado(a).
(Rui)
[(MARIA)]{.mark} Fecha o episódio com algo como “Agradecemos a todos os nossos e nossas ouvintes, e até o próximo episódio do Fronteiras da Engenharia de Software”
(Rui)
{width=”13.3125in” height=”7.71875in”}
[https://scholar.google.com/citations?user=x25BFgEAAAAJ&hl]{.underline}
Artigos de 2023 [https://scholar.google.com/citations?hl=pt-BR&user=x25BFgEAAAAJ&view_op=list_works&sortby=pubdate]{.underline}
Sugestões de perguntas:
Perguntas sugeridas pela equipe
um bug?]{.mark}
[O que se estuda em Localização de Falhas de Software?]{.mark}
sistemas complexos e distribuídos? E ainda, em um ambiente de integração e entrega contínua como você deve se deparar na Meta.]{.mark}
learning e deep learning mais especificamente, são aplicadas na localização de falhas em testes de software?]{.mark}
ocorre nós precisamos identificar a localização exata de falha. Feito isso, devemos proceder com a correção. O campo de de pesquisa em “automated program repair” tem evoluído? Você tem acompanhado este tema?]{.mark}
<!-- -->
oportunidade? O que faz lá? Como concilia com ser professor da Universidade do Porto?]{.mark}
2024]{.underline}](https://conf.researchr.org/committee/icse-2024/icse-2024-organising-committee) em Portugal, como General Chair, que ocorrerá mais precisamente de 14 a 20 de abril em Lisboa. Como tem sido a experiência de organizar uma conferência tão grande? Talvez a principal da área de engenharia de software.]{.mark}