[发明专利]基于形式化验证的软件开发模型的验证方法在审

专利信息
申请号: 201910029141.9 申请日: 2019-01-12
公开(公告)号: CN109918049A 公开(公告)日: 2019-06-21
发明(设计)人: 朱怡安;张欢 申请(专利权)人: 西北工业大学
主分类号: G06F8/10 分类号: G06F8/10;G06F8/20;G06F11/36
代理公司: 西北工业大学专利中心 61204 代理人: 金凤
地址: 710072 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 形式化验证 软件开发过程 验证 检错 开发软件 软件开发 可信 软件需求分析 非正常状态 局限性问题 逻辑正确性 测试技术 开发 引入
【权利要求书】:

1.一种基于形式化验证的软件开发模型的验证方法,其特征在于包括下述步骤:

步骤1:在需求验证时,进入步骤2,进行程序正确性验证时,进入步骤3;

步骤2:需求验证;

根据需求分析进行形式化需求模型的建立,并使用该模型对软件的需求进行符合性验证,构建形式化需求模型并进行验证的步骤如下:

(1)使用Event-B形式化方法描述软件需求,建立软件的Event-B软件系统抽象模型,Event-B软件系统抽象模型包含静态部分和动态部分,分别用context和machine进行描述(machine也称为model),静态部分代表软件系统的静态属性,动态部分代表软件系统的行为属性;

(2)通过逐步精化的方式向抽象模型中添加属性和功能,达到扩展和丰富模型的目的,其中,Event-B模型精化方式包括单一事件精化、合并精化、添加新事件精化和状态精化,在精化过程中要确保精化后的模型无死锁性;

(3)使用Rodin平台对Event-B软件系统抽象模型进行验证,模型验证是检验软件系统模型正确性的唯一手段,使用Event-B形式化方法建立模型的过程生成要证明的义务,证明义务由Rodin平台的工具自动生成的,所述工具为证明义务生成器,证明义务生成器对context和machine进行静态文本检查;决定证明目标,并产生相继式,相继式被转送给证明器,Rodin平台默认安装New PP证明器;

(4)使用证明器对证明义务进行自动证明或者交互证明,完成需求模型的验证;

步骤3:程序正确性验证的总体步骤如下:

搭建软件逻辑正确性验证框架,建立具体抽象机器模型,在该框架下对程序正确性进行验证;使用定理证明工具coq进行验证,通过函数的逻辑验证,及时发现软件开发过程中的逻辑错误,具体步骤如下:

步骤3.1:根据在Coq中归纳抽象语法树将C语言写的代码转化为coq语言的代码;

步骤3.2:对每一个内部函数书写规范,首先每个内部函数均有一个对应的规范,一个基本的函数规范包含该函数前条件和后条件,通过书写规范分别提供函数的前断言和函数的后断言中的前条件和后条件;

步骤3.3:构造程序语句推理规则,采用CSL-R和并发分离逻辑风格的推理方式将程序语句推理规则写成如下格式:

其中,Γ表示函数当前的上下文,I描述共享资源,前后断言描述局部资源,p表示前断言,ρ表示后断言;其中,函数前断言包含函数规范中的前条件、函数形参和局部变量;后断言包含函数规范中的后条件、函数形参和局部变量,s表示步骤3.1中转化为coq语言的程序,即需要进行正确性推理的程序;

步骤3.4:使用证明策略对构造程序语句推理规则进行推理验证。

2.根据权利要求1所述的一种基于形式化验证的软件开发模型的验证方法,其特征在于:

所述步骤3的程序正确性验证可与编码与调试同阶段进行。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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