kirancodes.me
To Proof Maintenance & Beyond!
ASE 2024★ Distinguished Paper

LLM-Generated Invariants for Bounded Model Checking Without Loop Unrolling

Muhammad A. A. Pirzada, Giles Reger, Ahmed Bhayat, Lucas C. Cordeiro

Abstract

We investigate a modification of the classical Bounded Model Checking (BMC) procedure that does not handle loops through unrolling but via modifications to the control flow graph (CFG). A portion of the CFG representing a loop is replaced by a node asserting invariants of the loop. We generate these invariants using Large Language Models (LLMs) and use a first-order theorem prover to ensure the correctness of the generated statements. We thus transform programs to loop-free variants in a sound manner. Our experimental results show that the resulting tool, ESBMC ibmc, is competitive with state-of-the-art formal verifiers for programs with unbounded loops, significantly improving the number of programs verified by the industrial-strength software verifier ESBMC and verifying programs that state-of-the-art software verifiers such as SeaHorn and VeriAbs could not.

BibTeX
@inproceedings{Pirzada-al:ASE24,
  author    = {Muhammad A. A. Pirzada and
               Giles Reger and
               Ahmed Bhayat and
               Lucas C. Cordeiro},
  title     = {{LLM-Generated} Invariants for Bounded Model Checking Without Loop Unrolling},
  booktitle = {ASE},
  pages     = {1395--1407},
  publisher = {{ACM}},
  year      = {2024},
}

Related papers