LLM Reasoning 相关度: 9/10

FM-Agent: Scaling Formal Methods to Large Systems via LLM-Based Hoare-Style Reasoning

Haoran Ding, Zhaoguo Wang, Haibo Chen
arXiv: 2604.11556v1 发布: 2026-04-13 更新: 2026-04-13

AI 摘要

FM-Agent利用LLM实现大规模系统的自动化Hoare逻辑推理,发现大量新bug。

主要贡献

  • 提出FM-Agent框架,实现大规模系统自动化组合推理
  • 利用LLM自动生成函数级规格说明
  • 推广Hoare推理以支持自然语言规格
  • 自动生成测试用例以触发潜在bug

方法论

采用自顶向下方法,利用LLM根据调用者期望自动生成函数规格,并生成测试用例验证。

原文摘要

LLM-assisted software development has become increasingly prevalent, and can generate large-scale systems, such as compilers. It becomes crucial to strengthen the correctness of the generated code. However, automated reasoning for large-scale systems remains challenging due to code complexity. Hoare logic offers an approach to decomposing a large system into smaller components and reasoning about them separately (i.e., compositional reasoning). However, existing works still struggle to scale, because Hoare logic requires writing formal specifications for each function, imposing a heavy human burden. The problem is exacerbated when code is generated by LLMs, as developers lack a deep understanding of each function's expected behavior. This paper presents FM-Agent, the first framework that realizes automated compositional reasoning for large-scale systems. Leveraging LLMs, FM-Agent introduces a top-down paradigm to automatically generate function-level specifications. Specifically, FM-Agent derives the specification of a function from how its callers expect the function to behave, so the generated specifications can reflect the developer's intent of a function even if the implementation is buggy. Developers' intent is usually expressed in natural language, while existing verifiers only support formulas. Therefore, FM-Agent generalizes Hoare-style inference to reason about functions against natural-language specifications. Finally, to confirm bug existence and explain bug causes, FM-Agent automatically generates test cases to trigger potential bugs. In our evaluation, FM-Agent successfully reasons about large-scale systems within 2 days, each of which has up to 143k LoC. These systems have already been tested by their developers, but FM-Agent still finds 522 newly discovered bugs. These bugs can cause serious consequences, including system crashes and incorrect execution results.

标签

LLM Formal Methods Hoare Logic Bug Detection

arXiv 分类

cs.SE cs.AI