[发明专利]一种对源代码形式化验证方法有效
| 申请号: | 202211570303.8 | 申请日: | 2022-12-08 |
| 公开(公告)号: | CN115658549B | 公开(公告)日: | 2023-03-07 |
| 发明(设计)人: | 赵永望;章喆;姚历智;赵健宏 | 申请(专利权)人: | 浙江望安科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 绍兴市寅越专利代理事务所(普通合伙) 33285 | 代理人: | 潘敏 |
| 地址: | 312000 浙江省绍兴市柯桥区齐贤街道柯*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 源代码 形式化 验证 方法 | ||
本发明提供一种对源代码形式化验证方法,包括输入生成器、符号执行器、规约生成器、规约匹配器、形式化验证规约库、规约学习器、规约筛选器、自然语言转换器、代码验证器、验证报告生成器,所述输入生成器将源代码作为输入,生成多个将变量和函数参数值随机化的代码文件,所述符号执行器用于读取上述代码文件,解析出文件集合,其中每个文件包含单个函数的输入状态、执行函数及输出状态。本方案通过规约生成器,将源代码进行自动化处理后生成原始规约,并通过模型学习手段,利用规约学习器对规约进行修正和补充,流程高度自动化,有效降低了开发和验证人员手动撰写形式规约的门槛,减少了形式语言学习和实施的成本,提高验证自动化程度。
技术领域
本发明涉及形式化验证技术领域,具体为一种对源代码形式化验证方法。
背景技术
软件正确性保障方法有三种技术,分别为:软件测试、代码分析、形式化验证,目前最常用的为形式化验证。
但形式化验证存在其学习成本较高的缺陷,对于每种编程语言都存在多种功能规约语言,导致功能规约的复用率低,即当一个新的软件中有类似功能的时候,无法直接使用之前写过的功能规约,也无法快速分析不同编程语言对于同一种实现的差别。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种对源代码形式化验证方法,解决了上述背景技术中提出的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:一种对源代码形式化验证方法,包括输入生成器、符号执行器、规约生成器、规约匹配器、形式化验证规约库、规约学习器、规约筛选器、自然语言转换器、代码验证器、验证报告生成器,所述输入生成器将源代码作为输入,生成多个将变量和函数参数值随机化的代码文件,所述符号执行器用于读取上述代码文件,解析出文件集合,其中每个文件包含单个函数的输入状态、执行函数及输出状态,所述规约生成器用于读取上述文件集合,生成每个函数对应的原始形式化规约,所述规约匹配器接受原始规约集合后,从所述形式化验证规约库中调用符合上文生成的原始规约的形式化验证规约,并通过规约匹配器生成名称、性质相近的规约集合,用以扩充原始规约集合,所述规约学习器将上述扩充后的规约集合输入,利用模型学习算法对规约集进行调整筛选,并输出调整后的规约,所述规约筛选器将需求文档、接口文档通过自然语言转换器转换为规范文档后,和上文生成的规约集合一起传输至规约筛选器中,筛选出每一条函数最终对应的规约,所述代码验证器用于对所有的源代码及其形式化规约进行形式化验证,验证是否相符,并通过所述验证报告生成器生成验证报告。
所述输入生成器用于接收验证所述源代码,对所述源代码进行分解,生成多个代码函数文件,每个所述代码文件均为一组可读的计算机语言指令。
优选的,所述符号执行器用于接受生成的代码文件,将所述代码文件解析出代码函数的集合,单个集合包含某一函数的输入状态、执行函数、及输出状态,将集合以文件方式打包后传输至模拟学习器中。
优选的,所述规约生成器用于函数的预处理,生成待验证函数列表,并对列表中的每个函数进行函数规约初始化,生成原始规约。
优选的,所述形式化验证规约库基于检测的形式化规约的集合,包括不同语言文法规则的形式化描述。
优选的,所述规约匹配器用于将上一步生成的原始规约与形式化规约库中的规约进行匹配,并生成不同类型的符合规约集合。
优选的,所述规约学习器用于接受规约集合,通过规约集合准确可靠地学习源代码,并自动生成源代码中每个函数对应的原始形式化规约。
优选的,所述自然语言转换器用于接收需求文档、接口文档等,将需求文档、接口文档转化为使用形式语言描述的需求规范文档、接口规范文档,并将规范文档传输至规约筛选器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江望安科技有限公司,未经浙江望安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211570303.8/2.html,转载请声明来源钻瓜专利网。





