um podcast de divulgação científica
Possível título:
34: Modernização de Software, com Wesley Assunção (JKU Linz)
Estúdio de gravação: [https://streamyard.com/g77gdmz8zw]{.underline}
14/04 14h00 (horário de Brasília)
Gravação no YouTube (vídeo não listado) [https://www.youtube.com/watch?v=KOK1aEAJb2s]{.underline}
Descrição e links da pessoa entrevistada:
Wesley Assunção é Pesquisador de pós-doutorado / Assistente Universitário na Johannes Kepler University Linz (JKU), membro do Institute
of Software Systems Engineering. Pesquisador de pós-doutorado na Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), membro do Grupo de Pesquisa Opus.
É também jogador de xadrez (perfil FIDE - lichess.org)
“Possui graduação em Sistemas de Informação pela Faculdade Sul Brasil (2006), especialização em Automação e Redes Industriais pela Faculdade de Tecnologia Senai Florianópolis (2009), especialização em Docência no Ensino Superior pela Faculdade Sul Brasil (2010), Mestrado em Informática (2012) e Doutorado em Ciências da Computação (2017) pela Universidade Federal do Paraná - UFPR. Professor do Magistério Superior na Universidade Tecnológica Federal do Paraná, Campus de Toledo, de 2013 a 2021. Atualmente Pesquisador Pós-doutorado na Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) Tem experiência profissional em desenvolvimento de aplicações web usando frameworks para desenvolvimento rápido. Suas áreas de interesse são: Modernização de Software, Variabilidade e Customização de Software, Desenvolvimento Colaborativo de Sistemas Complexos, e Teste de Software.” Lattes
[https://scholar.google.com/citations?user=PBndQZcAAAAJ&hl=en&oi=ao]{.underline}
Links:
systematic mapping [https://link.springer.com/article/10.1007/s10664-017-9499-z]{.underline}
Software Product Lines [https://gabrielamichelon.github.io/papers/Analysis_and_Propagation_of_Feature_Revisions_in_Preprocessor-based_Software_Product_Lines.pdf]{.underline}
Microservices from Legacy Systems. In: Empirical Software Engineering. 2022. [https://link.springer.com/article/10.1007/s10664-021-10049-7]{.underline}
[(PARTE 1 - APRESENTAÇÃO DOS HOSTS E DA PESSOA ENTREVISTADA)]{.mark}
[(ADOLFO)]{.mark}
Olá,
eu sou Adolfo Neto,
professor da UTFPR Curitiba e do Programa de Pós-Graduação em Computação Aplicada (PPGCA).
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)]{.mark} responde
[(ADOLFO)]{.mark}
Hoje vamos entrevistar
Wesley Assunção
Ele é
Pesquisador de pós-doutorado / Assistente Universitário na
Johannes Kepler University Linz (JKU), onde é membro do Institute
of Software Systems Engineering.
É também pesquisador de pós-doutorado na Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), no grupo de pesquisa OPUS (cujo coordenador é o nosso entrevistado Alessandro Garcia e do qual também fazem ou fizeram parte outros dois de nossos entrevistados: Marcos Kalinowski e Silvia Vergilio que, por sinal, foi sua orientadora de mestrado e doutorado na UFPR (e orientadora de mestrado, coorientadora de doutorado da Maria Claudia)
Wesley foi também, por aproximadamente 10 anos (8 como efetivo e 2 como temporário), professor da UTFPR.
A partir de agosto de 2023, Wesley vai atuar como professor associado na North Carolina State University, em Raleigh, Estados Unidos (que visitei em 2014-15).
Questão Curiosidade
Tudo bem, Wesley, você tem algo a complementar nesta sua apresentação?
[(PARTE 2 - CONCEITOS BÁSICOS)]{.mark}
[(ADOLFO)]{.mark} Vamos começar falando sobre o tema principal de nossa entrevista: o que é Modernização de Software?
[(MARIA CLAUDIA)]{.mark} Dentro da área Modernização de Software, em que subáreas você concentra sua pesquisa?
(Wesley) (por enquanto, para eu lembrar, depois posso melhorar o texto):
Engenharia reversa (para entender os sistemas legados)
exemplo, no meu doutorado eu trabalhei com reengenharia de variantes criadas com reúso oportunista para uma plataforma orientada a reúso, nesse caso, linhas de produtos de software.
motivado por uma parceria com a indústria, estou trabalhando com migração de sistemas legados para microsserviços.
aplico extensivamente práticas de engenharia dirigida por modelos (Model-driven engineering), permitindo abstrair certos aspectos de implementação mais específicos, e focar mais na arquitetura ou requisitos de negócios.
(pessoas e processos), e organizacionais (reduzir custos, gerar lucros)
[(MARIA CLAUDIA)]{.mark} Qual é o impacto na prática, isto é, na vida das pessoas desenvolvedoras de software, da pesquisa em Modernização de Software?
consequentemente precisa ser mantido por vários anos, ou até décadas. Isso inevitavelmente faz com que desenvolvedores conduzam processo de modernização.
da BBC [1] relata que no Reino Unido, de todo o recurso usado nos departamentos de TI do governo, metade é usado para manter legados em operação (2,3 bilhões de libras de um total de 4,7). Nessa mesma notícia, são mencionados sistemas com mais de 30 anos de operação.
(Escritório de Prestação de Contas do Governo dos EUA.) descreve que 80% dos recursos com TI são para manter legados (90 bilhões de dólares). Podemos citar alguns problemas dos legados: linguagens desatualizados, hardware e software sem suporte e estão operando com vulnerabilidades de segurança conhecidas.
dia a dia de desenvolvedores e das organizações.
como facilitar as atividades de engenharia, satisfazer as necessidades do usuário, atingir novas metas de negócios ou reduzir custos. Além disso, a modernização é um meio de alavancar a transformação digital, pois permite o uso de tecnologias emergentes/disruptivas, como inteligência artificial, computação de alto desempenho, computação em nuvem, IoT, robótica e big data.
[1] [https://www.bbc.com/news/uk-politics-58085316]{.underline}
[2] [https://www.gao.gov/products/gao-19-471]{.underline}
[(ADOLFO)]{.mark}
[Tiago \@nopunos]{.mark}
Quando tomar essa decisão? Como escolher a linguagem que será utilizada? Sair de um monolito para microserviços faz sentido em toda modernização?
[https://twitter.com/FronteirasES/status/1651177539228901378]{.underline}
[https://en.wikipedia.org/wiki/Software_modernization]{.underline} -> usa um artigo nosso nesse artigo :-)
Amazon volta para monolitos -> [https://twitter.com/giovannibassi/status/1654272021642072066]{.underline}
[(PARTE 3 - PESQUISA)]{.mark}
[(ADOLFO)]{.mark} Você publicou, na revista Empirical Software Engineering, uma das mais importantes da área, o artigo “Análise de uma Abordagem de Otimização com Múltiplos Objetivos para Identificação de Microsserviços em Sistemas Legados”. Quais foram os principais achados deste artigo?
outras palavras inteligência artificial, usando o que chamamos de otimização com muitos objetivos.
comunicação a ser gerada na rede.
estratégico para a empresa, projetado para ser um framework - mas foi muito customizado e perdeu essa característica.
inovação, etc.
Achados:
interdependentes
rede
modularização de recursos
Outros achados de um artigo em revisão:
arquitetura em diferentes níveis de granularidade e perspectivas
mantenedores
pesquisa são um bom ponto de partida para a identificação de microsserviço
A visualização de arquiteturas é importante para os mantenedores
qualidade também são considerados por mantenedores
[(ADOLFO)]{.mark} Você [apresentou]{.underline} recentemente, na conferência SANER (IEEE International Conference on Software Analysis, Evolution and Reengineering), o [artigo]{.underline} Análise e Propagação de Revisões de Recursos em Linhas de Produtos de Software Baseado em Pré-processador ([link preprint]{.underline}), em coautoria com Gabriela Michelon, Paul Grunbacher e Alexander Egyed. Quais foram os principais achados deste trabalho?
controle de versão (ex. git) lidam com granularidade de mudanças/evolução de sistemas.
[(MARIA CLAUDIA)]{.mark} [Seu artigo mais citado, na base do Google Scholar é “Reengenharia de aplicações legadas em linhas de produtos de software: um mapeamento sistemático”, publicado na Empirical Software Engineering em 2017, com mais de 150 citações. O que você pode falar a respeito deste artigo?]{.mark}
Talvez aqui discutir um pouco sobre MDE também, que está no contexto de modernização.
// handbook
[(PARTE 4 - OUTROS TEMAS)]{.mark}
[(ADOLFO)]{.mark} Você anunciou recentemente que vai começar a trabalhar como professor associado em uma importante universidade nos EUA, referência em Engenharia de Software. Como sua trajetória de vida e carreira pode motivar jovens que vivem em regiões afastadas dos grandes centros?
[(MARIA CLAUDIA)]{.mark} Você é mais um exemplo de professor/pesquisador da área de Engenharia de Software que deixa um emprego efetivo e estável no Brasil para ir trabalhar fora. Alguns outros exemplos, só entre os que passaram pelo Fronteiras são: Ingrid Nunes, Fernando Castor, Igor Steinmacher. Sem contar outros, como Mauricio Aniche e Joanna Santos, que sequer chegaram a ter um cargo no Brasil. No seu caso específico, quais foram os principais fatores que te levaram a deixar o país?
Isso é para meu contexto específico,
Falta de valorização da pesquisa e do pesquisador.
participação de e alunos e minhas para apresentação de artigos do próprio bolso)
segurança…
ótimas. Vide a força da comunidade Brasileira em Engenharia de software, por exemplo.
[(MARIA CLAUDIA)]{.mark} [Entre outras coisas você coorientou [Gabriela Karoline Michelon]{.underline}, egressa de Ciência da Computação pela UTFPR Medianeira, em seu Doutorado em Ciência da Computação pela Johannes Kepler University Linz. O fato de você ser um brasileiro ajuda os brasileiros e brasileiras que querem fazer doutorado fora? Você está procurando estudantes?]{.mark}
2014.]{.mark}
sistemas de software me enviou email sobre vagas abertas para doutorados. Coincidentemente, na mesma semana, um amigo meu da UTFPR de medianeira disse que tinha uma professora temporária interessada em fazer o doutorado. No Caso a Gabriela. Aí eu recomendei ela. Ela iniciou o doutorado no início de 2019 e terminou no final de 2022. Agora ela vai trabalhar em uma empresa da alemanha na área que ela fez o doutorado, LInhas de Produtos de Software.]{.mark}
co-oriento, Luciano Marchezan, que veio da Unipampa, no Rio Grande do Sul.]{.mark}
veio fazer o Posdoc aqui, e está aqui quase um ano.]{.mark}
aqui no Grupo, o Vitório miguel.]{.mark}
brasileiro é super valorizado no exterior. Pois trabalha duro, produz bastante, é motivado, muitas características boas.]{.mark}
[(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)
(uma ideia inicial. Precisa polir)Projetar, Implementar, Validar, Manter, Evoluir sistemas de software em um nível de abstração que permite o desenvolvedor focar em funcionalidades e aspectos de negócio, sem grandes preocupações com aspectos puramente técnicos. Nesse contexto, seria fácil manter regras de negócios e vantagens competitivas empresas mesmo diante da necessidade de modernização… É a ideia de MDE e transformação de modelos, mas mais pervasiva nas práticas atuais. Se pensar que engenharia de software como disciplina foi estabelecida por volta de 1970 (nato conference em 1968), então faz mais de 50 anos que produzimos, em geral, da mesma maneira, escrevendo texto (código-fonte) com estruturas de dados, controles de fluxo, repetições, etc. No-code e low-code está tentando mudar isso (no fundo, MDE), mas ainda tem uma fronteira a ser cruzada, tanto relativo a aspectos técnicos, operacionais, e também organizacionais.
Outra fronteira que vejo que devemos tentar atravessar, é como AI/ML (eu também faço pesquisa em SBSE, inclusive para dar suporte à modernização) pode empoderar desenvolvedores a lidar com a complexidade e escala de sistemas legados para apoiar a modernização. Nem toda empresa é uma grande empresa com recursos quase infinitos (e.g., Google e Microsoft) para ter times lidando exclusivamente com modernização. Acredito que AI/ML, ou SBSE, é um caminho para que mesmo times pequenos possam alcançar resultados em grande escala.
[(PARTE 6 - FINAL)]{.mark}
[[ADOLFO]]{.mark} Agradece e passa para o(a) entrevistado(a).
(Wesley)
[(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”
(Wesley)
{width=”6.5in” height=”3.6805555555555554in”}