speaker

Paulo Borba

Universidade Federal de Pernambuco

Em Busca de Maior Simplicidade e Confiabilidade no Processo de Integração de Código

O processo de integração de código, realizado com frequência por desenvolvedores, deveria ser mais simples e confiável. Quando integrando contribuições de código, desenvolvedores não deveriam perder tempo resolvendo conflitos de mesclagem (merge) irrelevantes. Eles também não deveriam comprometer a qualidade do sistema integrando contribuições de código que interferem de forma inesperada e causam defeitos dificilmente detectáveis durante atividades de revisão de código e testes. Com o objetivo de entender melhor e resolver esses problemas, foram realizadas várias pesquisas que serão resumidas nesta palestra. Em particular, foram desenvolvidas ferramentas avançadas de mesclagem que oferecem melhor suporte aos desenvolvedores que integram código com frequência. Essas ferramentas exploram a sintaxe e a semântica das linguagens de programação para obter melhor acurácia no processo de integração. A ferramenta de merge semi-estruturado desenvolvida foca em reduzir conflitos irrelevantes comumente reportados por ferramentas como o git merge, enquanto as ferramentas de merge semântico focam em detectar conflitos que normalmente não são detectados pelo git merge e que causam falhas que afetam usuários finais. Serão apresentados os principais resultados obtidos, as lições aprendidas e a história dessa jornada pela redução de frustrações e esforços desnecessários nas atividades de integração de código.

Paulo Borba é Professor Titular de Engenharia de Software do Centro de Informática da Universidade Federal de Pernambuco, onde lidera o Grupo de Produtividade de Software. Ele pesquisa e desenvolve ferramentas e técnicas para melhorar os níveis de qualidade e produtividade em software, especialmente através da redução de frustrações e esforços desnecessários nas atividades realizadas por desenvolvedores de software. Ele busca a mistura entre excelência em pesquisa e relevância industrial. Seus principais interesses de pesquisa são nos seguintes temas e na integração entre eles: conflitos e ferramentas de integração de código, integração e implantação contínuas, modularidade de software, linhas de produtos de software e refatoração. Paulo é Doutor em Computação pela Universidade de Oxford e Mestre e Bacharel em Ciência da Computação pela Universidade Federal de Pernambuco. Ele foi sócio-fundador da Qualiti Software Processes.