Use este identificador para citar ou linkar para este item:
https://repositorio.ufpe.br/handle/123456789/62552
Compartilhe esta página
Registro completo de metadados
Campo DC | Valor | Idioma |
---|---|---|
dc.contributor.advisor | BORBA, Paulo Henrique Monteiro | - |
dc.contributor.author | OLIVEIRA, Henrique Gomes de | - |
dc.date.accessioned | 2025-04-24T14:19:43Z | - |
dc.date.available | 2025-04-24T14:19:43Z | - |
dc.date.issued | 2025-04-03 | - |
dc.date.submitted | 2025-04-21 | - |
dc.identifier.citation | OLIVEIRA, Henrique. Detecção de conflitos semânticos usando Infer. Trabalho de Conclusão de Curso (Sistemas de Informação) – Universidade Federal de Pernambuco, Recife, 2025 | pt_BR |
dc.identifier.uri | https://repositorio.ufpe.br/handle/123456789/62552 | - |
dc.description.abstract | No desenvolvimento colaborativo de software, a integração de código entre diferentes desenvolvedores frequentemente leva a conflitos. Enquanto os conflitos textuais são bem tratados por sistemas de controle de versão como o Git, os conflitos semânticos — onde as alterações interferem no comportamento do sistema — continuam sendo um grande desafio. Esses conflitos podem ser estáticos, detectados em tempo de compilação, ou dinâmicos, emergindo apenas durante a execução. Este trabalho foca na detecção de conflitos semânticos dinâmicos usando o Infer, uma ferramenta de análise estática desenvolvida pela Meta. As abordagens atuais para detectar esses conflitos dependem da geração automatizada de testes, bem como de análises dinâmicas e estáticas, que enfrentam problemas de escalabilidade e precisão. Para melhorar a eficiência, este estudo propõe a adaptação da Análise de Taint do Infer para uma abordagem baseada em fluxo de dados na detecção de conflitos semânticos. Esse método busca aprimorar a eficiência computacional, garantindo ao mesmo tempo a identificação confiável de interferências. A técnica proposta envolve a transformação de código Java utilizando o Java Development Tools (JDT) para marcar sistematicamente modificações feitas por diferentes desenvolvedores. Essa transformação permite que o Infer rastreie o fluxo de dados entre alterações conflitantes, possibilitando a detecção de interferências. A metodologia inclui a travessia automatizada da AST, a marcação de instruções sensíveis ao fluxo de dados e a análise interprocedimental para propagar a detecção de conflitos através de chamadas de métodos e instâncias de objetos. Os resultados da abordagem adaptada baseada no Infer indicam seu potencial para detectar interferências semânticas em código mesclado. Ao equilibrar precisão e desempenho, este trabalho contribui para o avanço das estratégias de detecção de conflitos no desenvolvimento colaborativo de software, minimizando interrupções comportamentais indesejadas em bases de código integradas. | pt_BR |
dc.description.sponsorship | Outros | pt_BR |
dc.format.extent | 47p. | pt_BR |
dc.language.iso | por | pt_BR |
dc.rights | openAccess | pt_BR |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/br/ | * |
dc.subject | Conflitos Semânticos | pt_BR |
dc.subject | Análise Estática | pt_BR |
dc.subject | Infer | pt_BR |
dc.subject | Fluxo de Dados | pt_BR |
dc.subject | Merge | pt_BR |
dc.title | Detecção de conflitos semânticos usando Infer | pt_BR |
dc.type | bachelorThesis | pt_BR |
dc.contributor.advisor-co | SAMPAIO, Gabriela | - |
dc.degree.level | Graduacao | pt_BR |
dc.contributor.advisorLattes | http://lattes.cnpq.br/9395715443254344 | pt_BR |
dc.description.abstractx | In collaborative software development, code integration between different developers often leads to conflicts. While textual conflicts are well addressed by version control systems like Git, semantic conflicts—where changes interfere with system behavior—remain a significant challenge. These conflicts can be static, detected at compile-time, or dynamic, emerging only during execution. This work focuses on detecting dynamic semantic conflicts using Infer, a static analysis tool developed by Meta. Current approaches to detecting such conflicts rely on automated test generation, dynamic and static analysis, which face scalability and accuracy issues. To improve efficiency, this study proposes adapting Infer's Taint Analysis to a data flow-based approach for semantic conflict detection. This method enhances computational efficiency while ensuring reliable interference identification. The proposed technique involves transforming Java code using the Java Development Tools (JDT) to systematically mark modifications from different developers. This transformation enables Infer to track data flow between conflicting changes, allowing interference detection. The methodology includes automated AST traversal, marking of data flow-sensitive statements, and interprocedural analysis to propagate conflict detection across method calls and object instances. Results from the adapted Infer-based approach indicate its potential to detect semantic interference in merged code. By balancing precision and performance, this work contributes to advancing conflict detection strategies in collaborative software development, minimizing unintended behavioral disruptions in integrated codebases. | pt_BR |
dc.subject.cnpq | Áreas::Ciências Exatas e da Terra::Ciência da Computação | pt_BR |
dc.degree.departament | ::(CIN-DSC) - Departamento de Sistemas da Computação | pt_BR |
dc.degree.graduation | ::CIn-Curso de Sistemas de Informação | pt_BR |
dc.degree.grantor | Universidade Federal de Pernambuco | pt_BR |
dc.degree.local | Recife | pt_BR |
Aparece nas coleções: | (TCC) - Sistemas da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
TCC Henrique Gomes de Oliveira.pdf | 784,71 kB | Adobe PDF | ![]() Visualizar/Abrir |
Este arquivo é protegido por direitos autorais |
Este item está licenciada sob uma Licença Creative Commons