Pós-Graduação em Ciência da Computação – UFPE
Defesa de Tese de Doutorado Nº 997

Aluno: Galileu Santos de Jesus
Orientador: Prof. Paulo Henrique Monteiro Borba
Coorientador: Prof. Rodrigo Bonifacio de Almeida (UnB / Depto. de Ciência da Computação)
Título: A Lightweight Technique for Detecting Semantic Conflicts with Static Analysis
Data: 03/03/2026
Hora/Local: 9h – Auditório – Bloco B
Banca Examinadora:

Prof. Andre Luis de Medeiros Santos  (UFPE / Centro de Informática)
Prof. Breno Alexandro Ferreira de Miranda (UFPE / Centro de Informática)
Prof. Paola Rodrigues de Godoy Accioly  (UFPE / Centro de Informática)
Prof. Fernando Castor de Lima Filho (Centro de Informática / UFPE)

Prof. Leonardo Gresta Paulino Murta (UFF / Instituto de Computação)

Prof. Guilherme José Carvalho Cavalcanti  (IFPE – Campus Belo Jardim)


RESUMO:

Durante o desenvolvimento colaborativo de software, o uso de branches e merges permitem trabalho paralelo e integração contínua, mas também introduz o risco de conflitos semânticos, situações em que alterações independentemente corretas passam a interferir entre si após a integração, levando a comportamentos inesperados em tempo de execução. Esses conflitos são particularmente desafiadores porque não são detectados por ferramentas tradicionais de merge nem pelos processos padrão de build, o que motiva o desenvolvimento de técnicas estáticas capazes de identificar interferências antes de ir para produção.

Esta tese investiga o uso de técnicas de análise estática para detectar conflitos semânticos diretamente na versão do código resultante do merge, sem executar o programa. Avaliamos se análises estáticas, são capazes de capturar interferências entre as contribuições dos desenvolvedores. Conduzimos um estudo empírico com 99 cenários reais de merge provenientes de 32 projetos Java de código aberto, avaliando múltiplas análises complementares que capturam diferentes formas de interferência. Os resultados mostram que a combinação de múltiplas análises aumenta a cobertura de detecção, mas também leva a um maior número de falsos positivos.

Comparamos nossas análises estáticas leves com outra baseada em grafos de dependência do sistema (SDGs). Os resultados empíricos mostram que ambas as abordagens apresentam comportamento de detecção semelhante no conjunto de dados estudado. Entretanto, enquanto as análises leves executam em segundos, as análises de programa inteiro exigem horas para serem construídas e reportam um número maior de falsos positivos.

De forma geral, esta tese fornece uma avaliação empírica de técnicas de análise estática para detecção de conflitos semânticos, destacando as vantagens práticas e limitações de abordagens leves e pesadas, e oferecendo orientações baseadas em evidências para a seleção de estratégias de análise em contextos reais de desenvolvimento.


Palavras-chave: semantic conflicts; static analysis; collaborative development; interference detection; code integration.

Comentários desativados

Sobre este site

Portal institucional do Centro de Informática – UFPE

Encontre-nos

Endereço
Av. Jornalista Aníbal Fernandes, s/n – Cidade Universitária.
Recife-PE – Brasil
CEP: 50.740-560

Horário
Segunda–Sexta: 8:00–18:00