Skip to main content
QUICK REVIEW

[논문 리뷰] Lemma Discovery in Agentic Program Verification

Huan Zhao, Haoxin Tu|arXiv (Cornell University)|2026. 03. 23.
Logic, programming, and type systems인용 수 0
한 줄 요약

본 논문은 LemmaNet을 소개한다. LemmaNet은 소스 코드에서 오프라인으로 도우미 보조정리(helper lemmas)를 발견하고 증명 과정 중 온라인으로 발견하는 LLM 기반 에이전트로, 의미 인식 중심의 검증 조건과 증명 대상 검증 조건 간의 간극을 연결하여 실제 소프트웨어에 대한 연역적 검증을 향상시킨다.

ABSTRACT

Deductive verification provides strong correctness guarantees for code by extracting verification conditions (VCs) and writing formal proofs for them. The expertise-intensive task of VC proving is the main bottleneck in this process, and has been partly automated owing to recent advances in Large Language Model (LLM) agents. However, existing proof agents are not able to discover helper lemmas - auxiliary lemmas that aid in proving - and thus fall short as programs grow in size and complexity. In this paper, we argue that VC proving for program verification is more than a purely mathematical task, and benefits considerably from program comprehension. Our key insight is that human-proof engineers often discover and apply helper lemmas based on their understanding of the program semantics, which are not directly reflected in the VCs produced by VC generators. Inspired by this insight, we propose an LLM agent, LemmaNet, that discovers helper lemmas in two ways. Specifically, the agent first synthesizes lemmas offline by directly analyzing the source code and specifications, and then relating this semantic understanding to the mechanical, verbose encoding produced by VC generators. As the proof unfolds, LemmaNet then adapts existing helper lemmas online to accommodate evolving proof states, enabling the agent to effectively discharge complex VCs on-the-fly. We evaluate LemmaNet on SV-COMP and established real-world subjects, including modules of the Linux kernel, Contiki OS, standard C++ library, and X.509 parser. Our experimental results demonstrate that LemmaNet significantly outperforms state-of-the-art approaches, highlighting the importance of program comprehension-aided lemma discovery in agentic program verification.

연구 동기 및 목표

  • 프로그램 이해를 통한 보조 보조정리 발견이 검증 조건의 discharge에 도움이 되는지 입증한다.
  • 오프라인 보조정리 합성과 온라인 보조정리 적응의 듀얼 스테이지 LemmaNet 아키텍처를 제안한다.
  • 의미 인식 가능한 VC와 증명 대상 VC를 통합하면 복잡한 검증 조건의 discharge가 개선되는지 보인다.
  • 실제 소프트웨어와 벤치마크에서 LemmaNet을 평가하여 효과성과 강건성을 입증한다.

제안 방법

  • 오프라인 보조정리 합성은 소스 코드 및 명세를 분석하여 의미 인식에 맞는 보조정리(semantics-aligned helper lemmas)를 생성하고 이는 semantics-aware VC와 proof-targeted VCs 사이의 다리를 놓는다.
  • 온라인 보조정리 어댑터는 증명 보조 도구의 피드백에 따라 증명 중에 보조정리를 정제하고 적응한다.
  • 프로그램 의미 분석기와 의무/담당 보조정리 합성기를 갖춘 기존의 전략별(proof- by- tactic) 증명 에이전트 위에 구축된 시스템이다.
  • 단계별 워크플로우: 의미 인식 VC를 생성; 다리 역할을 하는 보조정리를 합성; 신뢰할 수 있는 VC 생성기로 VC를 discharge; 증명 상태가 진화함에 따라 온라인으로 보조정리를 적응한다.

실험 결과

연구 질문

  • RQ1프로그램 의미에서 파생된 보조 정리가 전통적인 VC 생성기가 생성한 검증 조건의 discharge를 개선할 수 있는가?
  • RQ2오프라인 의미 분석과 온라인 적응이 의미 인식 VC와 증명 대상 VC 사이의 간극을 어떻게 협력하여 bridge할 수 있는가?
  • RQ3보조정리 발견이 가능한 에이전트가 실제 소프트웨어 검증 작업에서 최첨단 증명 에이전트를 능가하는가?
  • RQ4실제 소프트웨어의 어떤 유형(예: Linux 커널 모듈, Contiki OS, 표준 라이브러리)이 의미 보조정리 발견의 혜택을 가장 크게 받는가?

주요 결과

  • LemmaNet은 벤치마크에서 최첨단 증명 에이전트 AutoRocq와 Copra를 26.8%–51.7%의 차이로 크게 능가한다.
  • 오프라인 합성은 프로그램 의미에 맞춘 보조정리를 도출하여 semantics-aware VC와 proof-targeted VC 사이의 다리를 놓는다.
  • 온라인 보조정리 적응은 증명 상태의 변화에 대응하여 보조정리를 정제하여 복잡한 VC의 discharge를 개선한다.
  • 평가 대상은 Linux 커널 모듈, Contiki OS, X.509 파서, 표준 C++ 라이브러리를 포함한다.
  • 이 접근법은 에이전트 기반 프로그램 검증에서 보조정리 발견을 위한 프로그램 이해의 중요성을 강조한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.