基于规约模式的C程序性质描述与验证

来源 :苏州大学 | 被引量 : 0次 | 上传用户:dong_0622
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件复杂度的不断增加、应用领域的不断扩大,人们对软件可靠性的需求日益迫切,如何保证软件的可靠性成为软件工程领域的一个焦点问题。传统的软件测试只能发现错误,不能保证程序正确。形式化方法被认为是解决软件可靠性的一个有效途径,但形式化语言较难掌握,一般开发人员直接书写比较困难。基于此,本文提出了一种基于规约模式的、用于描述C程序性质的半形式化语言C-PDL,研究了从C-PDL到模型检测工具SPIN输入语言的转换过程,最后采用SPIN验证C程序是否满足C-PDL描述的性质。规约模式是根据常用时序逻辑公式抽象而成的一种半形式化表达模式,用其描述的性质有对应的LTL表达式。现有规约模式的语义较含糊,导致用其描述的性质可以对应不同的LTL表达式,目前有SPS和Prospec两种版本。本文以SPS为标准,基于SPIN工具验证LTL表达式,并根据验证结果纠正了规约模式的语义,保证了它们的一致。C程序描述的是一系列状态转换的过程,可以引入规约模式描述程序性质。为了能更直观地表达程序性质以及准确地找到错误路径,本文对传统的状态进行扩展,使其不仅包含变量的取值,还包含位置信息,通过位置信息可以定位到具体的代码行。本文提出的C-PDL是描述C程序性质的半形式化语言,以规约模式为基础、以扩展后的状态为组成元素,并增加了描述断言的表达模式,能够描述顺序程序和并发程序的动态性质及程序的不变量。由于SPIN不能直接验证C-PDL描述的性质,本文研究了从C-PDL到SPIN输入语言的转换过程。在以上工作的基础上,本文以alternating-bit和producer-consumer为例,使用C-PDL描述程序性质,并根据性质省略掉无关代码,基于SPIN验证C程序是否满足这些性质。通过这个过程证明了C-PDL的表达能力以及从C-PDL到SPIN输入语言的转换过程的正确性,同时可以看出,此方法不仅能保证程序对于某些性质是正确的,还能方便地寻找错误路径。
其他文献
目的 探讨在先天性心脏病超声教学中应用多媒体联合PBL教学法的应用价值,并对其应用效果进行分析.方法 研究时间段为2018年4月至2019年6月,选取80名医学影像系的学生作为本次
在电子商务、城市应急、科学计算等诸多领域,业务用户通常需要按照其个性化的需求快速集成互联网上跨域的数据资源。然而,互联网上的数据资源分布、自治、异构的特点给用户的数
中国的汽车产业在过去的十年中快速发展,如今正处于黄金时期。然而,汽车数量的剧增和驾驶人数的骤长也给交通运输环境带来了巨大的压力。我国每年交通事故的伤亡率和事故量长
目的 探讨以问题为基础(P B L)在乳腺癌放射治疗临床示教课中的运用价值.方法 以本院为单位,在2018年8月至2019年8月间,选取来本院实习的学生36名,对其开展乳腺癌放射治疗临
分析目前我国诸多医院计算机信息管理工作基本情况,可知在网络环境复杂性的影响之下,导致该信息管理工作出现了较多问题,不利于医院依托医院信息系统有效做好医院经营管理工
目的 对影响内镜消毒效果的相关因素进行分析与探讨,并提出问题解决的相关策略.方法 选取4000例2018年2月至2019年12月在我院接受消化内镜检查的患者,对其相关情况进行回顾性
随着Internet的飞速发展,Web的信息量越来越大,传统的搜索引擎已经不能满足人们对个性化信息检索服务的需求。对于用户提供的关键字,现有的搜索引擎往往返回成千上万的搜索结
目的 探讨药剂科进行安全质量管理的效果.方法 选取2018年9月至2019年3月本院药剂科40例患者为对照组,开展常规管理,另在2019年4-10月间,选取患者40例作为观察组,在对照组管
我国药企新药研发由于创新能力弱,经验不足,导致临床试验失败的情况屡见不鲜.药物临床试验的开展是一个复杂的过程,投入临床试验的药物往往具有不明确的不良反应和禁忌症,受
目的 针对患有胸腹主动脉瘤患者,对其采用腔内修复术围手术期护理干预,分析护理效果.方法 在本院2014年6月至2019年6月,随机对64例患有胸腹主动脉瘤患者进行研究,其中32例患