发明公开
- 专利标题: 一种基于约束求解器的自动形式验证方法与装置
-
申请号: CN202211000086.9申请日: 2022-08-19
-
公开(公告)号: CN115268853A公开(公告)日: 2022-11-01
- 发明人: 赵永望 , 沈韬立 , 许浩 , 任奎
- 申请人: 浙江大学
- 申请人地址: 浙江省杭州市西湖区余杭塘路866号
- 专利权人: 浙江大学
- 当前专利权人: 浙江大学
- 当前专利权人地址: 浙江省杭州市西湖区余杭塘路866号
- 代理机构: 杭州中成专利事务所有限公司
- 代理商 李亦慈; 唐银益
- 主分类号: G06F8/20
- IPC分类号: G06F8/20 ; G06F8/30 ; G06F8/41
摘要:
本发明公开了一种基于约束求解器的自动形式验证方法与装置。针对C/C++源代码,编译为LLVMIR中间语言,在LLVMIR上自动构建符号执行模型,针对给定的源代码正确性属性形式化描述,使用符号执行的方式综合代码模型与代码属性,生成SMT约束,最后验证代码是否满足正确性属性,本发明使用约束求解器验证C/C++代码的正确性属性,通过符号执行编码C/C++代码为约束,根据使用约束求解器接口编写的代码正确性属性,可以验证不含无界循环的C/C++代码的正确性;针对引入无界循环代码的处理,通过使用循环不变式或有限展开循环,可以有限制地将循环编码为约束。