ANÁLISE ESTÁTICA DE ALGORITMOS COM GERAÇÃO DE COMPLEXIDADE ASSINTÓTICA
Keywords:
análise estática; complexidade assintótica; notação Big O; AST; CFG; Next.js; algoritmos.Abstract
Este estudo teve como meta validar e evidenciar, na prática, a aplicação da complexidade assintótica por meio da análise estática de algoritmos. Para isso, foi desenvolvida uma ferramenta web interativa que possibilita a geração e visualização da complexidade de diversos algoritmos, tornando esses conceitos teóricos, frequentemente considerados abstratos, mais acessíveis, concretos e passíveis de verificação em um contexto prático. A pesquisa abordou desde os fundamentos da teoria da complexidade algorítmica, passando pela aplicação de heurísticas de identificação de estruturas de controle, até a construção de representações estruturais como Árvores Sintáticas Abstratas (AST) e Grafos de Fluxo de Controle (CFG), que serviram de base para a inferência da complexidade. A partir dessa fundamentação, foi desenvolvido o sistema Big O Analyzer, utilizando tecnologias modernas como Next.js e Monaco Editor, o que permitiu integrar uma interface interativa a um pipeline de análise eficiente e modular. O sistema processa trechos de código escritos em linguagens como JavaScript, Python e Java, identifica padrões como loops, recursões e divisões de problema e retorna a classe de complexidade correspondente, acompanhada de explicações textuais e sugestões de otimização. Os resultados mostraram que a aplicação foi capaz de reconhecer corretamente diferentes classes de complexidade de O(1) a O(n!) demonstrando consistência com os fundamentos teóricos e confirmando a validade da proposta. Além de sua utilidade prática, o projeto apresenta relevância acadêmica ao oferecer uma nova abordagem de ensino para o estudo de algoritmos, unindo interatividade, visualização e formalismo teórico.