Análise de complexidade de códigos com rede neural de grafos

DSpace Repository

A- A A+

Análise de complexidade de códigos com rede neural de grafos

Show simple item record

dc.contributor Universidade Federal de Santa Catarina. pt_BR
dc.contributor.advisor Pfitscher, Ricardo José
dc.contributor.author Aléssio Nogara, Vitor Gabriel
dc.date.accessioned 2026-07-10T19:57:24Z
dc.date.available 2026-07-10T19:57:24Z
dc.date.issued 2026-06-29
dc.identifier.uri https://repositorio.ufsc.br/handle/123456789/274025
dc.description TCC (graduação) - Universidade Federal de Santa Catarina, Campus Joinville, Engenharia Mecatrônica. pt_BR
dc.description.abstract A complexidade de código é uma característica diretamente relacionada ao tempo de execução de um código e a sua eficiência. Obter uma eficiência maior ou tempo de execução menor, são objetivos comuns em qualquer área na engenharia, mas esses objetivos se tornam prevalecentes na análise de sistemas de alta precisão e em aplicações de tempo real. A identificação automatizada da complexidade ou de trechos problemáticos, poderia auxiliar nesses objetivos e otimizar os processos de desenvolvimento de algoritmos, porém, no problema da parada de Alan Turing, provou-se que é impossível a criação de um método ou função genérico capaz de calcular a complexidade exata de qualquer programa. Essa barreira teórica impõe a necessidade de investigar uma diferente abordagem baseada na estimativa de complexidade. Assim, neste trabalho analisa-se a viabilidade de Redes Neurais de Grafo (GNN) para essa tarefa, implementando-se diferentes modelos e testando-os e avaliando-os sobre diferentes métricas. Desenvolveu-se o modelo \textit{ComplexityGNN}, treinado e avaliado sobre 37608 exemplos em oito linguagens, atingindo acurácia de 67{,}6\% na classificação por classe e AUC-ROC de 0,926 na classificação binária de eficiência, demonstrando a viabilidade da abordagem para estimativa de complexidade de código. pt_BR
dc.description.abstract Code complexity is a characteristic directly related to the execution time and efficiency of a program. Achieving higher efficiency or shorter execution times are common objectives in any engineering field, but these goals become paramount in the analysis of high-precision systems and real-time applications. The automated identification of complexity or problematic code segments could assist in these objectives and optimize algorithm development processes. However, as demonstrated by Alan Turing's halting problem, it is theoretically impossible to create a generic method or function capable of calculating the exact complexity of any arbitrary program. This theoretical barrier imposes the need to investigate an alternative approach based on complexity estimation. Thus, this work analyzes the feasibility of Graph Neural Networks (GNN) for this task by implementing, testing, and evaluating different models across various metrics. The model \textit{ComplexityGNN} was developed, trained and tested under 37608 examples in 8 programming languages, measuring 67{,}6\% accuracy estimating by classes and AUC-ROC of 0{,}926 in binary classification of efficiency, presenting the viability of the approach of estimation of complexity. pt_BR
dc.format.extent 85 f. pt_BR
dc.language.iso por pt_BR
dc.publisher Joinville, SC. pt_BR
dc.rights Open Access. en
dc.subject Complexidade de código pt_BR
dc.subject Tempo de execução pt_BR
dc.subject Redes neurais de grafo pt_BR
dc.title Análise de complexidade de códigos com rede neural de grafos pt_BR
dc.type TCCgrad pt_BR


Files in this item

Files Size Format View
TCC___Vitor.pdf 915.5Kb PDF View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Browse

My Account

Statistics

Compartilhar