Score: 1

Specification-Guided Repair of Arithmetic Errors in Dafny Programs using LLMs

Published: July 4, 2025 | arXiv ID: 2507.03659v1

By: Valentina Wu, Alexandra Mendes, Alexandre Abreu

Potential Business Impact:

Fixes computer code errors using smart guessing.

Business Areas:
Natural Language Processing Artificial Intelligence, Data and Analytics, Software

Formal verification offers strong assurances of software correctness. However, debugging and repairing the underlying faults can be complex and time-consuming when verification fails. Automated Program Repair (APR) aims to ease this by automatically identifying and fixing faults. Traditional APR techniques often depend on test suites for validation, but these may fail to capture all scenarios. In contrast, formal specifications provide stronger correctness criteria for effective repairs. We present an innovative APR tool for Dafny, a verification-aware programming language that uses formal specifications - including pre-conditions, post-conditions, and invariants - as oracles for fault localization and repair. Assuming the correctness of the specifications and focusing on arithmetic bugs, we localize faults through a series of steps, which include using Hoare Logic to determine the state of each statement within the program and state-of-the-art Large Language Models (LLMs) to synthesize candidate fixes. The chosen models were GPT-4o mini, Llama 3, Mistral 7B, and Llemma 7B. We evaluate our approach using DafnyBench, a benchmark of real-world Dafny programs. Our tool achieves 89.6% accuracy in fault localization, with GPT-4o mini yielding the highest repair success rate (74.18%). These results highlight the potential of combining formal reasoning with LLM-driven program synthesis for automated program repair.

Country of Origin
🇵🇹 Portugal

Page Count
18 pages

Category
Computer Science:
Software Engineering