基于大语言模型的程序中循环不变量生成系统及方法

文档序号:37943619发布日期:2024-05-11 00:24阅读:9来源:国知局
基于大语言模型的程序中循环不变量生成系统及方法

本发明涉及的是一种程序软件验证领域的技术,具体是一种基于大语言模型的程序中循环不变量生成系统及方法。


背景技术:

1、软件验证与程序验证关注于确保软件系统在各种条件下的正确性、安全性和可靠性。其中,循环不变量是程序验证中的关键概念。在软件程序执行的循环中,循环不变量是一种在每次迭代过程中始终保持为真的逻辑表达式。寻找如图1所示合法的循环不变量对于验证程序的正确性至关重要,因为它们为程序验证提供了有力的逻辑基础。通过正确理解和推导程序中的循环不变量,能够确保程序在不同迭代中的正确执行。


技术实现思路

1、本发明针对现有技术只能针对数值程序、无法进行内存安全性验证、过度依赖专家经验的缺陷,提出一种基于大语言模型的程序中循环不变量生成系统及方法,采用大语言模型与传统验证工具协同工作,使其具备对程序语法和语义的深度理解,能够针对程序软件进行内存安全性验证,且完全无需专家经验等人工操作,实现了程序软件验证的自动化实现。

2、本发明是通过以下技术方案实现的:

3、本发明涉及一种基于大语言模型的程序中循环不变量生成系统,包括:语境理解模块、自监督学习模块、验证和精化模块以及修正优化模块,其中:语境理解模块根据输入程序在不同迭代状态下的语法和语义信息,进行深度文本理解和表示学习,得到对程序语境的高度抽象表示;自监督学习模块通过大语言模型对高度抽象表示进行自监督预训练,生成循环不变量的初步猜测;验证和精化模块利用程序分析和验证技术对初步猜测进行验证和精化,得到更加准确的循环不变量;修正优化模块对循环不变量进行进一步的修正和优化,生成最终的循环不变量。

4、本发明涉及一种基于上述系统的循环不变量生成方法,通过符号执行获取程序在不同迭代状态下的语义信息,对大语言模型进行通用自然语言处理任务的预训练;再通过自监督学习方式生成辅助任务,自动生成标注数据;最后将经过训练的大语言模型生成的循环不变量用于软件程序验证中。

5、技术效果

6、本发明通过结合大语言模型和传统程序分析技术,在语境理解、自监督学习、验证和优化,以及修正优化等方面实现了独特的工业实用性。通过自动化生成循环不变量,本方法显著提高了程序验证和软件验证的效率,减轻了依赖专家手动干预的负担。



技术特征:

1.一种基于大语言模型的程序中循环不变量生成系统,其特征在于,包括:语境理解模块、自监督学习模块、验证和精化模块以及修正优化模块,其中:语境理解模块根据输入程序在不同迭代状态下的语法和语义信息,进行深度文本理解和表示学习,得到对程序语境的高度抽象表示;自监督学习模块通过大语言模型对高度抽象表示进行自监督预训练,生成循环不变量的初步猜测;验证和精化模块利用程序分析和验证技术对初步猜测进行验证和精化,得到更加准确的循环不变量;修正优化模块对循环不变量进行进一步的修正和优化,生成最终的循环不变量。

2.一种基于权利要求1所述系统的循环不变量生成方法,其特征在于,通过符号执行获取程序在不同迭代状态下的语义信息,对大语言模型进行通用自然语言处理任务的预训练;再通过自监督学习方式生成辅助任务,自动生成标注数据;最后将经过训练的大语言模型生成的循环不变量用于软件程序验证中。

3.根据权利要求2所述的循环不变量生成方法,其特征是,具体包括:

4.根据权利要求2所述的循环不变量生成方法,其特征是,所述的待验证的程序代码包括特定的编程语言和特定的结构。

5.根据权利要求2所述的循环不变量生成方法,其特征是,所述的先验条件是指:程序执行的先前假设,包括:输入数据的特性或程序执行环境的限制。

6.根据权利要求2所述的循环不变量生成方法,其特征是,所述的程序规范是指所期望的程序行为,包括:期望的输出或满足的性能要求。

7.根据权利要求3所述的循环不变量生成方法,其特征是,所述的步骤4.1具体包括:

8.根据权利要求3所述的循环不变量生成方法,其特征是,所述的步骤4.2具体包括:


技术总结
一种基于大语言模型的程序中循环不变量生成系统及方法,包括:语境理解模块、自监督学习模块、验证和精化模块以及修正优化模块,其中:语境理解模块根据输入程序在不同迭代状态下的语法和语义信息,进行深度文本理解和表示学习,得到对程序语境的高度抽象表示;自监督学习模块通过大语言模型对高度抽象表示进行自监督预训练,生成循环不变量的初步猜测;验证和精化模块利用程序分析和验证技术对初步猜测进行验证和精化,得到更加准确的循环不变量;修正优化模块对循环不变量进行进一步的修正和优化,生成最终的循环不变量。本发明采用大语言模型与传统验证工具协同工作,使其具备对程序语法和语义的深度理解,能够针对任何程序软件进行内存安全性验证,且完全无需专家经验等人工操作,实现了程序软件验证的自动化实现。

技术研发人员:刘畅,吴熙炜,冯缘,曹钦翔,严骏驰
受保护的技术使用者:上海交通大学
技术研发日:
技术公布日:2024/5/10
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1