um podcast de divulgação científica
Tema: anotações de código (e frameworks que as usam)
YouTube: [https://www.youtube.com/watch?v=KGM84Ek5Koc]{.underline}
Título:
38: Anotações de Código (e frameworks que as usam), com Eduardo Guerra (UniBZ)
Resumo:
Neste episódio, Adolfo Neto e Maria Claudia Emer, professores da UTFPR Curitiba, entrevistam Eduardo Guerra, pesquisador da Universidade Livre de Bozen-Bolzano, sobre anotações de código e frameworks baseados em metadados.
Adolfo e Maria Claudia iniciam a conversa com a definição de anotações de código e sua utilização em frameworks. Eduardo explora desafios na construção desses frameworks.
Os resultados da pesquisa de Eduardo são discutidos, incluindo métricas de abuso de anotações e ferramentas de visualização. A validação de anotações em software orientado a objetos é comparada à validação tradicional.
A trajetória de Eduardo, desde a revista MundoJ até seu envolvimento com o mercado, é abordada. Ele compartilha motivos para sua mudança do INPE para a Universidade Livre de Bozen-Bolzano.
O episódio encerra com uma visão das próximas fronteiras da Engenharia de Software, incluindo arquitetura evolutiva e a integração de IA no desenvolvimento.
Este episódio fornece insights profundos sobre anotações de código e frameworks, revelando seu impacto crucial na Engenharia de Software.
Links de Eduardo Guerra:
[https://it.linkedin.com/in/eduardo-guerra-b4633115b]{.underline}
[https://esfinge.sourceforge.net/Oprojeto.html]{.underline} e [https://github.com/EsfingeFramework]{.underline}
[https://www.casadocodigo.com.br/products/livro-reflexao-anotacoes]{.underline}
Links para os artigos: [https://fronteirases.github.io/episodios/paginas/38]{.underline}
Texto “Programming types and mindsets”, de David Heinemeier Hansson: [https://world.hey.com/dhh/programming-types-and-mindsets-5b8490bc]{.underline}
Entrevistadores:
Nosso site é: [https://fronteirases.github.io/]{.underline}
Opening Song: Extreme Energy (Music Today 80). Composed & Produced by: Anwar Amr Video. Link:[ https://www.youtube.com/watch?v=8ZZbAkKNx7s]{.underline}
+———————————————————————–+ | Padrões e Práticas\ | | \ | | Guerra, E., Alves, F., Kulesza, U., & Fernandes, C. (2013). A | | reference architecture for organizing the internal structure of | | metadata-based frameworks.e of metadata-based frameworks. Journal of | | Systems and Software, 86(5), 1239-1256. | | | | [https://www.s | | ciencedirect.com/science/article/pii/S0164121212003366]{.underline}\ | | \ | | Guerra, E., de Souza, J., & Fernandes, C. (2013). Pattern language | | for the internal structure of metadata-based frameworks. In | | Transactions on Pattern Languages of Programming III (pp. 55-110). | | Springer Berlin Heidelberg. | | | | [ | | https://link.springer.com/chapter/10.1007/978-3-642-38676-3_3]{.under | | line} | | | | Guerra, E., Fernandes, C., & Silveira, F. F. (2010, October). | | Architectural patterns for metadata-based frameworks usage. In | | Proceedings of the 17th Conference on Pattern Languages of Programs | | (pp. 1-25). | | | | [https://dl.acm.org/doi/abs/10.1145/2493288.2493 | | 292]{.underline} | +=======================================================================+ | Soluções Específicas (trabalhos sobre frameworks específicos) | | | | (Access Control) Silva, J. O., Guerra, E. M., & Fernandes, C. T. | | (2013). An extensible and decoupled architectural model for | | authorization frameworks. In Computational Science and Its | | Applications–ICCSA 2013: 13th International Conference, Ho Chi Minh | | City, Vietnam, June 24-27, 2013, Proceedings, Part IV 13 (pp. | | 614-628). Springer Berlin Heidelberg. | | | | [ht | | tps://link.springer.com/chapter/10.1007/978-3-642-39649-6_44]{.underl | | ine} | | | | (Persistence) Guerra, E. (2014). Designing a framework with | | test-driven development: A journey. IEEE software, 31(1), 9-14.\ | | [https://ieeexplore.ieee.org/abstract/document/6750460 | | ]{.underline} | | | | (Gamification) Guerra, E. M., Fornari, G., Costa, W. S., Porto, | | S. M., Candia, M. P., & da Silva, T. S. (2017). An approach for | | modularizing gamification concerns. In Computational Science and Its | | Applications–ICCSA 2017: 17th International Conference, Trieste, | | Italy, July 3-6, 2017, Proceedings, Part V 17 (pp. 635-651). Springer | | International Publishing. | | | | [ht | | tps://link.springer.com/chapter/10.1007/978-3-319-62404-4_47]{.underl | | ine} | | | | (Continuus experimentation - A/B testing) De Souza, W. S., | | Pereira, F. O., Albuquerque, V. G., Melegati, J., & Guerra, E. (2022, | | June). A Framework Model to Support A/B Tests at the Class and | | Component Level. In 2022 IEEE 46th Annual Computers, Software, and | | Applications Conference (COMPSAC) (pp. 860-865). IEEE.\ | | [https://ieeexplore.ieee.org/abstract/document/9842657 | | ]{.underline} | +———————————————————————–+ | Metricas e Visualização\ | | \ | | Lima, P., Guerra, E., Meirelles, P., Kanashiro, L., Silva, H., & | | Silveira, F. F. (2018). A metrics suite for code annotation | | assessment. Journal of Systems and Software, 137, 163-18 | | | | [[https://www. | | sciencedirect.com/science/article/pii/S016412121730273X]{.underline}] | | (https://www.sciencedirect.com/science/article/pii/S016412121730273X) | | | | Lima, P., Melegati, J., Gomes, E., Pereira, N. S., Guerra, E., & | | Meirelles, P. (2023). CADV: A software visualization approach for | | code annotations distribution. Information and Software Technology, | | 154, 107089. | | | | [[https://www. | | sciencedirect.com/science/article/pii/S0950584922001987]{.underline}] | | (https://www.sciencedirect.com/science/article/pii/S0950584922001987) | | | | Unpublished:\ | | Guerra, E., Gomes, E., Ferreira, J., Wiese, I., Lima, P., Gerosa, M., | | & Meirelles, P. (2022). How does annotations affect Java code | | readability? | | | | [https://www.researchsquare.com/article/rs-2256326/v1 | | ]{.underline} | +———————————————————————–+ | Esfinge Metadata - Proposal of new API for consume annotations | | | | de Siqueira, J. L., Silveira, F. F., & Guerra, E. M. (2016). An | | approach for code annotation validation with metadata location | | transparency. In Computational Science and Its Applications--ICCSA | | 2016: 16th International Conference, Beijing, China, July 4-7, 2016, | | Proceedings, Part IV 16 (pp. 422-438). Springer International | | Publishing. | | | | [ht | | tps://link.springer.com/chapter/10.1007/978-3-319-42089-9_30]{.underl | | ine} | | | | Guerra, E., Lima, P., Choma, J., Nardes, M., Silva, T., Lanza, M., & | | Meirelles, P. (2020, October). A metadata handling api for framework | | development: A comparative study. In Proceedings of the XXXIV | | Brazilian Symposium on Software Engineering (pp. 499-508). | | | | [https://dl.acm.org/doi/abs/10.1145/3422392.3422 | | 428]{.underline} | | | | Unpublished | | | | Gomes, E., Guerra, E., Lima, P., & Meirelles, P. (2023). An Approach | | Based on Metadata to Implement Convention over Configuration | | Decoupled from Framework Logic. | | | | [https:/ | | /www.authorea.com/doi/full/10.22541/au.168067455.55373151]{.underline | | } | +———————————————————————–+
[https://twitter.com/emguerra]{.underline}
Researcher at UniBZ.
[https://about.me/guerraem]{.underline}
[https://www.youtube.com/@eduardomguerra]{.underline}
[https://github.com/guerraem]{.underline}
[https://it.linkedin.com/in/eduardo-guerra-b4633115b]{.underline}
[https://bv.fapesp.br/pt/pesquisador/103989/eduardo-martins-guerra/]{.underline}
[http://lattes.cnpq.br/3413978291577451]{.underline}
Coursera: [https://www.coursera.org/instructor/guerra]{.underline}
[https://esfinge.sourceforge.net/Oprojeto.html]{.underline}
[https://github.com/EsfingeFramework]{.underline}
Programming types and mindsets
[https://world.hey.com/dhh/programming-types-and-mindsets-5b8490bc]{.underline}
LIVRO DE ANOTACOES
[https://www.casadocodigo.com.br/products/livro-reflexao-anotacoes]{.underline}
HIDEV
====
[(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} Tudo bem. Preparada para mais uma conversa sobre um tema importante da Engenharia de Software com o nosso entrevistado.
[(ADOLFO)]{.mark}
Hoje vamos entrevistar
Eduardo Guerra
Ele é pesquisador na Universidade Livre de Bozen-Bolzano, onde ministra aulas de Técnicas Avançadas de Design de Software e Arquitetura de Sistemas de Software. Além disso, faz pesquisa nos seguintes temas:
Métodos Ágeis
Desenvolvimento de Frameworks
Padrões de Software
Arquiteturas Dinâmicas
Software Startups
O tema principal desta entrevista é
Anotações de código (e frameworks que as usam)
Tudo bem, Eduardo, você tem algo a complementar nesta sua apresentação?
(EDUARDO)
[(PARTE 2 - CONCEITOS BÁSICOS)]{.mark}
[(ADOLFO)]{.mark} Vamos começar falando sobre o tema principal de nossa entrevista: o que são anotações de código?
(EDUARDO)
CORTE ~8:54-9:30
[(MARIA CLAUDIA)]{.mark} E o que são e para que são usados os frameworks baseados em metadados?
(EDUARDO)
[(ADOLFO)]{.mark} Quais são alguns dos problemas encontrados na construção de frameworks baseados em metadados?
(EDUARDO)
17:27 CORTE
[(PARTE 3 - PESQUISA)]{.mark}
[(ADOLFO)]{.mark} Ao longo do tempo, você publicou alguns artigos relacionados ao tema de frameworks baseados em metadados. Vamos deixar o link de três deles na descrição do episódio. Quais foram os principais resultados destes trabalhos?
(EDUARDO) (a) suíte de métricas e abusos das anotações; (b) ferramenta de visualização e conexão das anotações com arquitetura; (c)
[(MARIA CLAUDIA)]{.mark} Existe uma forma de garantir que as anotações sejam colocadas apenas em elementos válidos? E como testar se as anotações geraram o comportamento esperado?
Como a validação das anotações de código em software orientado a
objetos com transparência de localização difere da validação
tradicional?
(EDUARDO)
[(ADOLFO)]{.mark} O que é o projeto Esfinge?
(EDUARDO)
[(ADOLFO)]{.mark} Quais são as vantagens e diferenças de usar a API Esfinge Metadata em comparação com a API Java Reflection para consumir e processar anotações no desenvolvimento de frameworks baseados em metadados e aplicações baseadas em anotações personalizadas?
Será que perguntar se está disponível e onde o projeto Esfinge?
Deixei o link acima
Então, somente comentar?
Sim, comento no fim
(EDUARDO)
[(MARIA CLAUDIA)]{.mark} Você também tem trabalhado com a visualização da distribuição das anotações de código (por exemplo, na ferramenta Annotation Visualizer). Como esta visualização pode ajudar as pessoas desenvolvedoras?
(EDUARDO)
CORTE ~49 MINUTOS
[(ADOLFO)]{.mark} E você e alguns coautores (entre eles, Igor Wiese, que foi entrevistado por nós aqui) têm um preprint sobre “Como as anotações afetam a legibilidade do código Java?”. Como foi feito este trabalho e quais são os resultados até agora?
(EDUARDO)
[(PARTE 4 - OUTROS TEMAS)]{.mark}
[(ADOLFO)]{.mark} Agora vou listar algumas de suas atividades ao longo da sua carreira:
revista da comunidade da linguagem Java.
6 anos, sendo um dos responsáveis por diversos cursos na plataforma Coursera. Achamos 5 cursos seus lá, sobre temas como TDD, Padrões e Agilidade.
pessoas desenvolvedoras.
artigos e tutoriais, entre outros vídeos, além de participar de podcasts (como sua entrevista para o podcast HiDev, do Bruno Cartaxo).
Qual é sua motivação para esta aproximação com o mercado?
(EDUARDO)
[(MARIA CLAUDIA)]{.mark}
Você trabalhou de 2013 a 2020 no INPE, Instituto Nacional de Pesquisas Espaciais, como pesquisador. Desde 2020 você está como pesquisador na Universidade Livre de Bozen-Bolzano, na Itália. Você pode nos contar um pouco sobre as motivações desta mudança?
(EDUARDO)
[(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)
(EDUARDO) (a) Uma técnica efetiva para arquitetura de software evolutiva; (b) Integração efetiva de ferramentas baseadas em IA nos times.
[(PARTE 6 - FINAL)]{.mark}
[[ADOLFO]]{.mark} Agradece e passa para o(a) entrevistado(a).
(EDUARDO)
[(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”
(EDUARDO)
PRINT PARA DIVULGAÇÃO EM REDES SOCIAIS
{width=”6.5in” height=”3.6527777777777777in”}