论文

AutoACSL:整合LLM与基于CPG静态分析的ACL规格合成

AutoACSL: Synthesizing ACSL Specifications by Integrating LLMs with CPG-Based Static Analysis

摘要

为C程序生成形式化规格在形式验证中仍是挑战——因为需要人工投入、专业知识与语义精确性。虽然大语言模型(LLM)的近期进展为自动化规格合成带来希望——但当前方法常缺乏语义深度——产出不可验证或不完整的契约。为解决这些局限——我们介绍AutoACSL——整合LLM提示与从代码属性图(CPG)抽取的语义特征的新框架。AutoACSL执行静态分析抽取关键语义元素——包括算术运算、循环与递归结构、返回值传播——编码进结构化提示。这些提示使LLM不仅生成正常行为规格——还包括防止导致运行时错误的输入的约束。AutoACSL采用反馈驱动的合成回路——候选规格用Frama-C/WP验证——迭代精化直至验证成功或满足终止条件。在取自多样数据集的604个程序上评估——AutoACSL搭配Gemini-3取得98%规格生成成功率与96%完全证明率。相较仅代码基线——AutoACSL跨四个LLM(GPT-o4 Mini、GPT-5.2、Grok-4.1与Gemini-3)把完全证明率提升24.7%到51.7%——表明把大语言模型与基于CPG的静态分析整合大幅增强自动化ACSL规格合成的生成鲁棒性与验证有效性。

AutoACSL:整合LLM与基于CPG静态分析的ACL规格合成:论文配图
图 1:AutoACSL 框架