System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于大语言模型的程序中循环不变量生成系统及方法技术方案_技高网

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

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

【技术实现步骤摘要】

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


技术介绍

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具体包括:

...

【技术特征摘要】

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

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

【专利技术属性】
技术研发人员:刘畅吴熙炜冯缘曹钦翔严骏驰
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1