AlphaVerus: Bootstrapping Formally Verified Code Generation through Self-Improving Translation and Treefinement

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Aggarwal, Pranjal, Parno, Bryan, Welleck, Sean
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866916514360197120
author Aggarwal, Pranjal
Parno, Bryan
Welleck, Sean
author_facet Aggarwal, Pranjal
Parno, Bryan
Welleck, Sean
contents Automated code generation with large language models has gained significant traction, but there remains no guarantee on the correctness of generated code. We aim to use formal verification to provide mathematical guarantees that the generated code is correct. However, generating formally verified code with LLMs is hindered by the scarcity of training data and the complexity of formal proofs. To tackle this challenge, we introduce AlphaVerus, a self-improving framework that bootstraps formally verified code generation by iteratively translating programs from a higher-resource language and leveraging feedback from a verifier. AlphaVerus operates in three phases: exploration of candidate translations, Treefinement -- a novel tree search algorithm for program refinement using verifier feedback, and filtering misaligned specifications and programs to prevent reward hacking. Through this iterative process, AlphaVerus enables a LLaMA-3.1-70B model to generate verified code without human intervention or model finetuning. AlphaVerus shows an ability to generate formally verified solutions for HumanEval and MBPP, laying the groundwork for truly trustworthy code-generation agents.
format Preprint
id arxiv_https___arxiv_org_abs_2412_06176
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle AlphaVerus: Bootstrapping Formally Verified Code Generation through Self-Improving Translation and Treefinement
Aggarwal, Pranjal
Parno, Bryan
Welleck, Sean
Machine Learning
Artificial Intelligence
Automated code generation with large language models has gained significant traction, but there remains no guarantee on the correctness of generated code. We aim to use formal verification to provide mathematical guarantees that the generated code is correct. However, generating formally verified code with LLMs is hindered by the scarcity of training data and the complexity of formal proofs. To tackle this challenge, we introduce AlphaVerus, a self-improving framework that bootstraps formally verified code generation by iteratively translating programs from a higher-resource language and leveraging feedback from a verifier. AlphaVerus operates in three phases: exploration of candidate translations, Treefinement -- a novel tree search algorithm for program refinement using verifier feedback, and filtering misaligned specifications and programs to prevent reward hacking. Through this iterative process, AlphaVerus enables a LLaMA-3.1-70B model to generate verified code without human intervention or model finetuning. AlphaVerus shows an ability to generate formally verified solutions for HumanEval and MBPP, laying the groundwork for truly trustworthy code-generation agents.
title AlphaVerus: Bootstrapping Formally Verified Code Generation through Self-Improving Translation and Treefinement
topic Machine Learning
Artificial Intelligence
url https://arxiv.org/abs/2412.06176