arXiv发布基于LLM的PETSc函数验证方法:发现1997年遗留漏洞
文 / Mr.Xu
发布时间:
摘要:arXiv发布了一项关于使用大语言模型(LLM)生成形式化验证合约的研究成果。该方法通过LLM生成小规模且可人工验证的ACSL合约,结合确定性工具链和CIVL验证器,对PETSc库中的函数进行验证。研究展示了该方法在三个PETSc函数上的应用,包括MatAXPY、MatAYPX和MatFilter的非压缩模式,并成功发现MatAYPX函数中一个自1997年以来未被发现的漏洞。这一研究为数值计算库的自动化验证提供了新的技术路径,并展示了LLM在形式化验证领域的潜力。
研究背景与挑战
数值计算库(如PETSc)在科学和工程应用中至关重要,但这些库很少经过形式化验证,主要原因是传统验证方法需要专家手动编写规格说明并应用验证工具,这不仅耗时,还容易引入额外错误,导致验证结果出现假阳性或假阴性。
方法与创新
本研究提出了一种基于大语言模型(LLM)的自动化验证方法,具体包括以下步骤:
- ACSL合约生成:利用LLM从函数文档中生成小规模、可人工验证的ACSL合约。
- 确定性工具链:使用支持受限ACSL配置文件的确定性工具链生成驱动程序。
- CIVL验证器:通过CIVL验证器将实现与合约进行对比验证,并结合现有参考模型进行校验。
实验与结果
研究在三个PETSc函数上进行了验证:
- MatAXPY:已有参考模型,验证过程顺利。
- MatAYPX:无参考模型,验证过程完全依赖生成的合约,最终发现一个自1997年以来未被发现的漏洞。
- MatFilter(非压缩模式):无参考模型,行为复杂,验证过程同样成功。
技术亮点
- LLM应用创新:首次将LLM应用于数值计算库的形式化验证,展示了其在自动化生成验证合约方面的潜力。
- 自动化与准确性结合:通过LLM生成可人工验证的合约,避免了传统自动化生成方法带来的不可靠性。
- 漏洞发现:成功发现PETSc中一个长期存在的漏洞,证明了该方法的有效性。
行业影响与未来展望
该研究为数值计算库的自动化验证提供了新的思路,有望大幅提升软件验证的效率和准确性。同时,LLM在形式化验证领域的应用前景广阔,未来可扩展到更多类型的软件系统验证中。开发者可以参考该方法,尝试将LLM应用于自身项目的验证流程中,以提升软件质量和可靠性。
—— 完 ——消息来源:ArXiv NLP/LLM (cs.CL) (2026-09-29)
社区整体评论区
正在加载实时智能评论与划词标注…