[发明专利]基于扩展符号变迁系统的C语言程序软件验证方法及装置有效
申请号: | 201610645892.X | 申请日: | 2016-08-08 |
公开(公告)号: | CN106294148B | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 孙家广;王得希;张超;陈光;贺飞;顾明 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于扩展符号变迁系统的C语言程序软件验证方法及装置。该方法包括:对待测对象C语言程序源代码插入验证属性描述;对插入验证属性的C语言程序源代码按照扩展的符号变迁系统ELTS语法构造ELTS程序模型;根据所述ELTS程序模型,生成可满足性求解SMT的模型路径;使用SMT工具对所述ELTS程序模型模型路径进行可达性的分析和验证;根据可达性分析和验证的结果生成ELTS程序模型反例,根据所述ELTS程序模型反例映射生成C语言程序反例。本发明实施例自动化建立ELTS程序模型,结合模型检测和严格的数学推理得到验证结果,相比于其它形式化方法具有准确率更高、程序覆盖率更好的特点,提高了软件验证的效率和准确性。 | ||
搜索关键词: | 基于 扩展 符号 变迁 系统 语言 程序 软件 验证 方法 装置 | ||
【主权项】:
1.一种基于扩展符号变迁系统的C语言程序软件验证方法,其特征在于,包括:对待测对象C语言程序源代码插入验证属性描述;对插入验证属性的C语言程序源代码按照扩展的符号变迁系统ELTS语法构造ELTS程序模型;根据所述ELTS程序模型,生成可满足性求解SMT的模型路径;使用SMT工具对所述ELTS程序模型模型路径进行可达性的分析和验证;根据可达性分析和验证的结果生成ELTS程序模型反例,根据所述ELTS程序模型反例映射生成C语言程序反例;所述对插入验证属性的C语言程序源代码按照扩展的符号变迁系统ELTS语法构造ELTS程序模型,包括:将C语言程序源代码使用编译器进行解析,获取中间语言程序;对所述中间语言程序进行优化,删除所述中间语言程序的临时变量,合并所述中间语言程序的代码块;将所述中间语言程序构造生成ELTS程序模型。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610645892.X/,转载请声明来源钻瓜专利网。
- 上一篇:一种linux操作系统的调试方法
- 下一篇:一种防水性能好的对讲机