论文
FM-Agent:通过基于 LLM 的霍尔式推理将形式方法扩展到大型系统
FM-Agent: Scaling Formal Methods to Large Systems via LLM-Based Hoare-Style Reasoning
摘要
LLM辅助软件开发已经越来越普遍,并且可以生成大型系统,例如编译器。加强生成代码的正确性变得至关重要。然而,由于代码复杂性,大规模系统的自动推理仍然具有挑战性。霍尔逻辑提供了一种将大型系统分解为较小组件并分别进行推理的方法(即组合推理)。然而,现有的工作仍然难以扩展,因为霍尔逻辑需要为每个函数编写正式的规范,这给人类带来了沉重的负担。当代码由 LLM 生成时,问题会更加严重,因为开发人员缺乏对每个函数的预期行为的深入了解。本文提出了 FM-Agent,这是第一个实现大规模系统自动组合推理的框架。利用 LLM,FM-Agent 引入了自上而下的范例来自动生成功能级规范。具体来说,FM-Agent 根据调用者期望函数的行为方式得出函数的规范,因此即使实现存在错误,生成的规范也可以反映开发人员的函数意图。开发者的意图通常用自然语言表达,而现有的验证器仅支持公式。因此,FM-Agent 将霍尔式推理推广为针对自然语言规范的函数推理。最后,为了确认错误存在并解释错误原因,FM-Agent 自动生成测试用例来触发潜在错误。在我们的评估中,FM-Agent 在 2 天内成功推理了大型系统,每个系统具有高达 143k LoC。这些系统已经由开发人员进行了测试,但 FM-Agent 仍然发现了 522 个新发现的错误。这些错误可能会导致严重的后果,包括系统崩溃和错误的执行结果。