[发明专利]用于易变数据结构程序验证的形状图生成方法及装置在审

专利信息
申请号: 202011105846.3 申请日: 2020-10-15
公开(公告)号: CN112241258A 公开(公告)日: 2021-01-19
发明(设计)人: 杨大润;张昱;杜准 申请(专利权)人: 科大国创软件股份有限公司;安徽中科国创高可信软件有限公司
主分类号: G06F8/30 分类号: G06F8/30;G06F8/34
代理公司: 合肥维可专利代理事务所(普通合伙) 34135 代理人: 吴明华
地址: 230088 安*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 数据结构 程序 验证 形状 生成 方法 装置
【说明书】:

发明公开了用于易变数据结构程序验证的形状图生成方法及装置,包括细化不同种类易变数据结构断言,并对细化后的断言种类简化断言描述方法;按照预设优化顺序对不同断言种类进行形状图构造获取程序的初步形状图,所述不同断言种类的构造方法包括细化后的断言种类对应的形状图构造方法;基于初步构造的形状图进行修正优化获取精准形状图。本发明使复杂形状图的描述更加规范简练,并且简化形状图构造过程,优化指针别名消除过程,减少了指针操作语句演算过程中需要修改的别名数量。

技术领域

本发明涉及C语言程序验证技术领域,具体涉及用于易变数据结构程序验证的形状图生成方法及装置。

背景技术

基于演绎推理的形式化验证主要用于提高软件的可信度。在形式化验证系统对C语言程序的验证过程中,会遇到各种易变数据结构,而这类程序因其动态生成、结构复杂难以仅用一阶逻辑公式来表述,为此陈意云教授及其研究团队提出了用于描述各种易变数据结构的形状图逻辑。

形状图是描述易变数据结构中指针类型的域变量的指向的一种有向图,准确表达了指针指向的内存块的存在和指针间的相等/不等关系,因而可作为操作指针的程序中指针有效性和相等性的断言。形状图逻辑是Hoare逻辑的一种扩展,形状图逻辑将易变数据结构上大量指针之间的关系的断言概括抽象为等价的形状图,并在霍尔逻辑的基础上添加形状图的逻辑规则,形状图作为断言的一部分参与每一条程序语句的相应逻辑演算,从而大大简化含易变数据结构的程序验证。

现有技术中形状图逻辑存在的问题包括:

1.描述形状图的断言仅有\c_dlist、\tree_seg_l等基本形状内置谓词,描述能力太弱。完全不能满足实际程序中对形状图描述的要求。

2.当形状图的数据断言中的指针路径包含环时,存在无法将对应结构体翻译为代数数据类型的问题。

3.对指针别名的判断的实现未作优化,尽管实际需要修改的指针别名只有一小部分,每次指针操作语句引起的形状图变化时都需要对断言中的所有指针路径进行别名判断,增加了实现的复杂度和验证时间。

4.未提及当用户自定义谓词涉及指针时,谓词在形状图逻辑下如何进行逻辑演算。

发明内容

针对上述现有技术存在的问题,本发明提供了一种用于易变数据结构程序验证的形状图生成方法,包括如下步骤:

细化不同种类易变数据结构断言,并对细化后的断言种类简化断言描述方法;

按照预设优化顺序对不同断言种类进行形状图构造获取程序的初步形状图,所述不同断言种类的构造方法包括细化后的断言种类对应的形状图构造方法;

基于初步构造的形状图进行修正优化获取精准形状图。

作为上述方案的进一步优化,所述细化不同种类易变数据结构断言,包括:

遍历语法树,获取所有程序断言;

将断言范式化为析取范式,将每个析取分支的断言分拆为合取子式,每个子式分类为形状断言、数据断言、符号断言;

所述形状断言进一步分为形状内置谓词、表和环长度断言、指针距离断言、指针等于空断言、指针不等于空断言、指针相等断言、指针不等断言、悬空指针断言;

所述数据断言依据指针路径进一步分为一般指针、数据域指针、量化数据域指针、谓词指针、谓词数据域指针。

作为上述方案的进一步优化,所述对细化后的断言种类简化断言描述方法,包括:

对于数据断言中指针取指针域连续取多次的情况,记为折叠指针域,通过新增p-(r:n)描述p指针取指针域r连续取了n次,n不小于0,所述折叠指针域的断言描述方法用于两个指针距离的断言和数据断言中,并且路径不会构成环。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大国创软件股份有限公司;安徽中科国创高可信软件有限公司,未经科大国创软件股份有限公司;安徽中科国创高可信软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011105846.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top