# LLM生成コードの検証、形式上の合格と実際の正しさに隔たり

> arXiv論文は、検証器による合格、証明と仕様の結び付き、実環境での正しさを分けて分析。3つのコードベンチマークで大きな差が見つかった。

Oossa · 2026-11-05 · https://oossa.com/ja/study-finds-gaps-in-llm-code-verification

11月5日にarXivで公開された論文は、大規模言語モデルが生成したコードについて、「検証済み」とは何を意味するのかを検討している。検証器がコードを受け入れるか、証明が仕様に結び付いているか、その仕様が元の要件を反映しているかという3つの観点に分けて調べた。

著者らによると、あるテストではHumanEvalで検証器の合格率は99.1%だった一方、仕様で定義された述語または関数に結び付いた証明書があったサンプルはわずか1.9%だった。そうした結び付きを確保するために設計された別のRustパイプラインでは、構造上は検証済みのMBPP-Rustサンプルの11.48%、VeriContestの一部データの14.82%が、それでも非公開テストに失敗した。

## 事実

- 論文によると、HumanEvalでの検証器の合格率は99.1%、仕様に結び付いた証明書の割合は1.9%。
- VeriContest LCの一部では、著者らがエンドツーエンドの成功率を7.79%（6,870件中535件）と報告。他のモデルとの比較では、タスクの予算、修正、テストハーネスの条件がそろっていなかった。

## なぜ重要か

生成コードの評価に証明検査を使うチームにとって、この結果は、検証器に合格しただけでは、要件との意味のある結び付きも、非公開テストでの正しさも確認できない可能性を示している。

## 出典と参考資料

1. [Verified but Vacuous: Three Failure Surfaces of LLM-Driven Verified Code Generation](https://arxiv.org/abs/2611.05590) – arXiv, 2026-11-05

最終更新: 2026-11-05
