论文
WybeCoder:经过验证的命令式代码生成
WybeCoder: Verified Imperative Code Generation
摘要
大语言模型 (LLM) 的最新进展极大地推进了自动代码生成和形式定理证明,但软件验证尚未取得可比的进展。为了解决这一差距,我们提出了 WybeCoder,这是一种代理代码验证框架,可以实现即生成即证明的开发,其中代码、不变量和证明共同发展。 WybeCoder 基于最新的框架而构建,该框架将自动验证条件生成和 SMT 求解与精益中的交互式证明相结合。为了实现系统评估,我们将 Lean、Verina 和 Clever 中的两个功能验证基准转化为等效的命令式代码规范。在堆排序等复杂算法上,我们在扩展方法时观察到持续的性能改进,合成了数十个有效的不变量并调度了数十个子目标,最终生成了数百行经过验证的代码并克服了之前工作中报告的停滞状态。我们最好的系统以适中的计算预算解决了 74% 的 Verina 任务和 62% 的 Clever 任务,大大超过了之前的评估,并为自动构建经过验证的命令性代码的大规模数据集铺平了道路。