CLEVER: A Curated Benchmark for Formally Verified Code Generation
Created by
Haebom
저자
Amitayush Thakur, Jasper Lee, George Tsoukalas, Meghana Sistla, Matthew Zhao, Stefan Zetzsche, Greg Durrett, Yisong Yue, Swarat Chaudhuri
개요
본 논문은 Lean이라는 형식 검증 시스템을 사용하여 종단 간 검증된 코드 생성을 위한 고품질의 정제된 벤치마크인 CLEVER를 소개합니다. CLEVER는 161개의 문제로 구성되며, 각 문제는 (1) 보류된 정답 사양과 일치하는 사양을 생성하는 작업과 (2) 이 사양을 증명 가능하게 만족하는 Lean 구현을 생성하는 작업으로 이루어집니다. 기존 벤치마크와 달리 CLEVER는 테스트 케이스 감독, LLM 생성 주석, 구현 논리를 누출하거나 공허한 해결책을 허용하는 사양을 피합니다. 모든 출력은 Lean의 형식 검사기를 사용하여 사후 검증되어 기계로 확인 가능한 정확성을 보장합니다. 논문에서는 CLEVER를 사용하여 최첨단 언어 모델을 기반으로 하는 몇 가지 퓨샷 및 에이전트 방식을 평가합니다. 이러한 방법들은 모두 완전한 검증을 달성하는 데 어려움을 겪어 프로그램 합성 및 형식적 추론을 위한 어려운 최첨단 벤치마크임을 입증합니다. 벤치마크는 GitHub(https://github.com/trishullab/clever)와 HuggingFace(https://huggingface.co/datasets/amitayusht/clever)에서, 평가 코드는 GitHub(https://github.com/trishullab/clever-prover)에서 확인할 수 있습니다.
시사점, 한계점
•
시사점: 종단 간 검증된 코드 생성을 위한 새로운 고품질 벤치마크 CLEVER를 제시하여 프로그램 합성 및 형식적 추론 분야의 연구를 촉진합니다. 현존하는 최첨단 언어 모델의 한계를 드러내어 향후 연구 방향을 제시합니다. 공개적으로 접근 가능한 데이터셋과 코드를 제공하여 재현성을 높입니다.
•
한계점: 현재 벤치마크의 규모(161개 문제)가 상대적으로 작을 수 있습니다. 평가된 방법들이 모두 완전한 검증에 실패한 점은 향후 더 강력한 방법론 개발의 필요성을 시사합니다. Lean에 특화된 벤치마크이므로 다른 프로그래밍 언어로의 일반화 가능성에 대한 추가 연구가 필요합니다.