# 研究发现，大语言模型代码验证仍有明显漏洞

> 一篇 arXiv 论文将验证器是否接受代码、证明是否绑定规范，以及代码在实际测试中是否正确分开考察，发现三个代码基准上的结果差距显著。

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

11月5日发布在 arXiv 上的一篇论文，探讨了大语言模型生成的代码究竟在何种意义上算是“经过验证”。论文将检查分为三个方面：验证器是否接受代码、证明是否与规范绑定，以及该规范是否反映了原始需求。

作者报告称，在一项测试中，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
