Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/68057

Share on

Title: Inferência de invariantes de loops em especificações formais de smart contracts solidity utilizando LLMs em framework de geração e verificação
Authors: CUNHA JÚNIOR, Almir Menezes da
Keywords: Inferência de Invariantes de Loop; Large Language Models (LLMs); Abordagem Neuro-simbólica; Verificação Formal; Contratos Inteligentes; Solidity
Issue Date: 23-Jan-2026
Citation: CUNHA JÚNIOR, Almir Menezes da. Inferência de invariantes de loops em especificações formais de smart contracts solidity utilizando LLMs em framework de geração e verificação. 2026. Trabalho de Conclusão de Curso (Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2026.
Abstract: A verificação formal de contratos inteligentes é fundamental para garantir a segurança de ativos financeiros em redes Blockchain, onde falhas de software podem resultar em perdas irreversíveis. Um dos maiores desafios nesse processo é a validação de programas contendo loops, cuja verificação automática depende da identificação de invariantes de loop, uma tarefa historicamente complexa e, em geral, indecidível. Nesse contexto, tais invariantes atuam como premissas em Triplas de Hoare, permitindo decompor a prova de correção do laço em condições lógicas de alcançabilidade, indutividade e provabilidade da pós-condição. Embora abordagens neuro-simbólicas recentes, como o framework LLM and Model checking for loop Invariant inference (LaM4Inv), tenham demonstrado sucesso na inferência automática desses invariantes para a linguagem C, não existiam até então soluções para Solidity, a linguagem mais utilizada para implementar contratos inteligentes em Blockchain. O LaM4Inv utiliza o framework Code2Inv para gerar as condições necessárias de verificação dos invariantes candidatos. Este trabalho apresenta uma adaptação do LaM4Inv. Desenvolvemos um Gerador de Condições de Verificaçãos (VCs), baseado na abordagem do Code2Inv, capaz de traduzir a representação intermediária (usada pela ferramenta Slither, que é um analisador estático para smart contracts em Solidity) para fórmulas Satisfiability Modulo Theories (SMT), permitindo a validação rigorosa de candidatos a invariantes gerados por Large Language Modelss (LLMs). Implementamos uma estratégia de orquestração sequencial de modelos para otimizar custos e eficiência. A avaliação experimental em 312 contratos demonstrou uma taxa de sucesso de 100% na inferência automática, validando a eficácia da abordagem proposta para viabilizar a verificação formal autônoma de loops em contratos inteligentes. O código está publicamente disponível em https://github.com/almirmcunhajr/solidity-lam4inv.
URI: https://repositorio.ufpe.br/handle/123456789/68057
Appears in Collections:(TCC) - Ciência da Computação

Files in This Item:
File Description SizeFormat 
TCC Almir Menezes da Cunha Júnior.pdf717.46 kBAdobe PDFThumbnail
View/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons