Detecção de similaridade de códigos fontes usando grafos de dependência de programa

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Silva, Clóvis Daniel Souza
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Estadual do Ceará
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://siduece.uece.br/siduece/trabalhoAcademicoPublico.jsf?id=95524
Resumo: <div style="text-align: justify;"><span style="font-size: 10pt;">Definir se dois ou mais programas são similares, isto é, definir se apresentam a mesma estrutura de fluxo de controle, uso de memória e objetivo é um problema não trivial, visto que um mesmo programa pode ser escrito de formas distintas. Este problema se torna ainda mais difícil quando cada código passa por um processo de camuflagem, a ofuscação, com o intuito de esconder a identidade original do programa. Isto pode ocorrer em casos de malwares polimórficos, ou mesmo em casos de plágio de programa. Uma técnica usada para realizar a comparação entre os códigos consiste em modelar os mesmos como grafos que capturem as características do programa. Nesse contexto, o problema em questão é o mesmo de verificar o quão perto de um isomorfismo estão as estruturas. Assim, o presente trabalho objetiva investigar as técnicas e modelos existentes, assim como propor e adaptar estas técnicas usadas para detecção de similaridade entre códigos fontes. Este trabalho discute as técnicas existentes para o problema de detecção de similaridade de código fonte, e propõe uma nova abordagem usando o método húngaro e uma rede neural artificial para detectar similaridade entre programas escritos em C, retirados do site de programação competitiva CodeForces (CODEFORCES, CodeForces, 2010). Palavras-chave: Grafos de Dependência de Programa. Detecção. Similaridade de Código Fonte. Isomorfismo em Grafos.</span></div>