알고리즘 검증 코드 생성의 새로운 기준 AlgoVeri

알고리즘 검증 코드 생성의 새로운 기준 AlgoVeri
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

AlgoVeri는 Dafny, Verus, Lean 세 검증 시스템에 대해 동일한 77개의 고전 알고리즘 과제를 정렬된 사양으로 제공함으로써, LLM 기반 검증 코드 생성 능력을 공정하게 비교한다. 실험 결과, 최신 모델도 Dafny에서는 40 % 수준, Verus는 25 %, Lean은 8 % 이하의 성공률에 머물며, 특히 전역 불변식과 고스트 상태를 다루는 복잡한 알고리즘에서 큰 격차가 드러난다. 또한, 다중 라운드 자체 수정(iterative repair) 전략이 모델 성능을 크게 좌우한다는 점을 밝혀냈다.

상세 분석

AlgoVeri는 기존 검증 코드 생성 벤치마크가 언어·툴마다 과제 난이도가 달라 직접적인 비교가 어려웠던 문제를 해결하고자 설계되었다. 핵심 아이디어는 “정렬된 사양(aligned specifications)”을 통해 Dafny, Verus, Lean 각각에 동일한 전처리·후처리 조건, 전역 불변식, 그리고 필요시 고스트 변수까지 일관되게 정의하는 것이다. 이를 위해 저자들은 77개의 교과서 수준 알고리즘(정렬, 힙, 세그먼트 트리, 레드‑블랙 트리, 그래프 흐름, 동적 계획법 등)을 선정하고, 각 언어의 문법·증명 스타일에 맞춰 사양을 변환했으며, 전문가 검증과 형식적 검증(로컬 만족성, 필요성 검증) 절차를 추가해 사양의 정확성을 확보했다.

평가 파이프라인은 모델에게 자연어 설명과 정렬된 사양을 프롬프트로 제공하고, 구현 코드와 증명 스크립트를 다중 라운드(최대 15라운드) 동안 컴파일러·검증기 피드백을 활용해 수정하도록 설계되었다. 최종 성공은 두 단계로 판단한다: (1) 검증기에서 형식적으로 통과(컴파일·증명 성공)하고, (2) 별도 LLM‑judge가 구현이 의도된 알고리즘과 일치하는지 확인하는 ‘알고리즘 충실도’ 검증이다. 이는 단순히 사양을 회피하거나 다른 알고리즘으로 대체하는 ‘스펙 게임’을 방지한다.

실험에서는 Gemini‑3 Flash, GPT‑5 mini와 같은 최신 폐쇄형 모델과 GPT‑OSS‑120B, Qwen3‑235B 등 오픈‑웨이트 모델을 대상으로 성능을 측정했다. 결과는 크게 세 가지 인사이트를 제공한다. 첫째, SMT 기반 검증기인 Dafny가 자동화된 부등식 해소와 루프 불변식 추론을 지원해 모델이 논리적 정확성에 집중할 수 있게 하므로, 다른 두 시스템에 비해 성공률이 현저히 높다. 둘째, Verus는 메모리 모델과 저수준 포인터 관리가 필요해 모델이 구문 오류에 머무는 경우가 많으며, Lean은 전통적인 ITP 방식으로 증명 전술(tactic)과 보조 정리를 직접 구성해야 하므로 성공률이 급격히 떨어진다. 셋째, ‘iterative repair’ 전략이 모델 성능에 결정적인 영향을 미친다. Gemini‑3 Flash는 라운드당 평균 성공률이 꾸준히 상승해 최종 성공률이 3배 이상 증가했지만, 오픈‑웨이트 모델은 초기 라운드 이후 개선 폭이 거의 없으며, 단순히 여러 샘플을 병렬로 생성하는 것이 더 효율적이었다.

오류 분석에서는 구문·형식 오류, 증명 전술 선택 오류, 그리고 사양 자체를 오해하는 세 가지 주요 실패 유형을 제시한다. Dafny에서는 주로 논리적 오류(루프 불변식 부정확)로 인한 실패가 발생했으며, Verus와 Lean에서는 구문·타입 오류와 증명 전술 탐색 실패가 지배적이었다. 이는 각 언어의 설계가 모델의 추론 흐름에 미치는 영향을 명확히 보여준다. 전체적으로 AlgoVeri는 LLM이 ‘코드 + 증명’이라는 복합 작업을 수행할 때 겪는 병목을 정량화하고, 향후 검증 친화적 프롬프트 설계·모델 아키텍처 개선을 위한 구체적 로드맵을 제공한다.


댓글 및 학술 토론

Loading comments...

의견 남기기