Skip to main content

Trabalho em anais de eventoOpen Access

A New Era in Software Security: Towards Self-Healing Software via Large Language Models and Formal Verification

TIHANYI, NORBERT; CHARALAMBOUS, YIANNIS; JAIN, RIDHI; FERRAG, MOHAMED AMINE; CORDEIRO, LUCAS C

2025 • 2025 IEEE/ACM International Conference on Automation of Software Test (AST) • 104 citações

Resumo

Resumo

This paper presents a novel approach integrating Large Language Models (LLMs) with Formal Verification for automatic software vulnerability repair. Initially, we employ Bounded Model Checking (BMC) to identify vulnerabilities and extract counterexamples. Mathematical proofs and the stack trace of the vulnerabilities support these counterexamples. Using a specially designed prompt, we combine the source code with the identified vulnerability, including its stack trace and counterexample that specifies the line number and error type. This combined information is then fed into an LLM, which is instructed to attempt to fix the code. The new code is subsequently verified again using BMC to ensure the fix succeeded. We present the ESBMC-AI framework as a proof of concept, leveraging the well-recognized and industry-adopted Efficient SMT-based Context-Bounded Model Checker (ESBMC) and a pre-trained transformer model to detect and fix errors in C programs, particularly in critical software components. We evaluated our approach on 50, 000 C programs randomly selected from the FormAI dataset with their respective vulnerability classifications. Our results demonstrate ESBMC-AI’s capability to automate the detection and repair of issues such as buffer overflow, arithmetic overflow, and pointer dereference failures with high accuracy. ESBMC-AI is a pioneering initiative, integrating LLMs with BMC techniques, offering potential integration into the continuous integration and deployment (CI/CD) process within the software development lifecycle.

Autoria

Autores do grupo (1)

A lista completa de autores está no topo da página. Abaixo, apenas os pesquisadores do e-Controls vinculados a esta publicação.

palavras-chave

Palavras-chave

large language modelsformal verificationbounded model checkingC programsbuffer overflowarithmetic overflowprompt engineeringcounterexampleself-healing softwareCI/CD

Status

Published

links

Trabalho em anais de evento