Fronteiras da Engenharia de Software

Logo

um podcast de divulgação científica

[https://www.youtube.com/watch?v=aZ70hwdU6b8]{.underline}

[Host: Adolfo Neto (UTFPR)]{.mark}

[Co-host: Ingrid Nunes (UFRGS)]{.mark}

Equipe: Danilo Ribeiro (Zup), Leonardo Fernandes (IFAL), Fabio Petrillo (Univ. Quebec), Gustavo Pinto (UFPA)

Script do Episódio

Parte 1: Apresentação [5 min, estimativa]

Início: 13:20

[[ADOLFO] Hoje no Fronteiras da Engenharia de Software vamos conversar com Gustavo Soares, da Microsoft Research, sobre síntese de programas e outros temas.]{.mark}

[[ADOLFO] Tudo bem, Gustavo? Você pode se apresentar para as pessoas que nos escutam?]{.mark}

Parte 2 - Tema do Episódio [20 min, estimativa]

[[INGRID]]{.mark} Gustavo, você teria uma definição simples sobre o que é síntese de programas?

[[ADOLFO]]{.mark} Existem exemplos práticos concretos da aplicação da síntese de programas para resolver problemas, não se limitando à Engenharia de Software?

[[INGRID]]{.mark} E agora focando na área de Engenharia de Software e também Linguagens de Programação, quais são os principais problemas que são atacados? Existe alguma ferramenta ou funcionalidade de ferramenta que use técnicas de síntese de programas, e a gente, como usuário, acaba não sabendo?

[[ADOLFO]]{.mark} Então a área de de síntese de programas envolve vários desafios como, por exemplo, conhecer a intenção do usuário, como conhecer técnicas de busca. Quais são essas várias dimensões relacionadas com a síntese de programas?

[[INGRID]]{.mark} Parece que a síntese de programas é uma área que vem sendo explorada desde a época de Alonzo Church. Essas dimensões que você falou são as mesmas desde a concepção da área de síntese de programas? Você pode nos dar um panorama como a área evoluiu ao longo do tempo?

// link curso Armando Solar sobre Síntese de Programas: [https://people.csail.mit.edu/asolar/SynthesisCourse/index.htm]{.mark}

[[ADOLFO]]{.mark} O termo "síntese" parece ser bem explorado em áreas como interação humano computador e inteligência artificial e, mais recentemente e especificamente, com deep learning. Há alguma relação entre a abordagem de síntese de programas que é trabalhada nessas diferentes áreas a inteligência artificial, com os trabalhos da comunidade de engenharia de software/linguagem de programação? Ou são termos similares para problemas diferentes?

[[INGRID]]{.mark} E quais os futuras direções para a área de síntese de programas? Tem uma survey da Microsoft publicada em 2017 sobre a área, onde vários problemas são listados como debuggability e entradas multi-modais. Esses problemas continuam em aberto?

// Cortar comentário do Gustavo às 13:51 e conversa entre nós para retomar

Parte 3: Contexto Pessoal e Pesquisa

[[ADOLFO]]{.mark} Focando agora no seu trabalho na Microsoft, algumas das suas ideias e pesquisas em sínteses de programa têm sido incorporadas em ferramentas da Microsoft? Você poderia compartilhar exemplos?

[[INGRID]]{.mark} Pesquisa envolve descoberta, então normalmente é algo que não pode ser planejado de forma muito antecipada porque dependendo de resultados podemos seguir diferentes caminhos. E como é o ciclo de desenvolvimento no contexto de pesquisa no seu contexto? Qual é o caminho que um protótipo precisa pra ganhar forma até ser feito o deploy para milhares de usuários?

[[ADOLFO]]{.mark} E como entram as publicações neste ciclo de desenvolvimento? Por exemplo, em 2019 você foi co-autor do artigo "On the fly synthesis of edit suggestions", já como pesquisador da Microsoft. Aproveitando, você poderia falar um pouco mais sobre esse trabalho?

[[INGRID]]{.mark} As ferramentas que você desenvolve são colocadas em produção e usadas massivamente pelos desenvolvedores da Microsoft? Se sim, qual o feedback você tem recebido?

Parte 4: Outras perguntas

[[ADOLFO]]{.mark} Gustavo, você fez boa parte do seu treinamento (graduação, mestrado e doutorado) e também atuou como professor na UFCG por alguns anos. Hoje você é pesquisador na Microsoft research. O que motivou você a fazer essa transição?

[[INGRID]]{.mark} A gente falou sobre artigos…você ainda busca colocar os resultados da sua pesquisa em artigos publicados nos periódicos e conferências da área ou isso não é importante? Como hoje é sua interação com o mundo acadêmico?

[[INGRID]]{.mark} Em geral, como professores, a gente pode deixar a nossa agenda de pesquisa caminhar de acordo com a nossa curiosidade. Mas como pesquisador em uma empresa, como você concilia os seus interesses e curiosidades de pesquisa com a necessidade de entregar valor para a Microsoft?

Parte 5: Próxima Fronteira da ES [3 min, estimativa]

[[ADOLFO] Gustavo, 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)]{.mark}

Parte 6: Encerramento

[Adolfo agradece e passa para Gustavo.]{.mark}

[Ingrid fecha o episódio.]{.mark}

FINAL: 14:34

Texto para divulgação

Síntese de programas com Gustavo Soares, pesquisador na Microsoft Research

Conversamos com Gustavo Soares, pesquisador na Microsoft Research.

Sites de Gustavo

Links Citados