支持用户自定义谓词的自动定理证明的研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:lucylxh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机学科的迅猛发展,计算机软件正逐渐演化成为人们学习生活中的一个庞大的体系。另一方面,软件的安全形势非常严峻,尤其随着移动计算的日益普及,对未受信源提供代码的安全执行问题也慢慢浮现出来。软件的安全性成为关注的重点,在软件安全性的研究中,软件满足特定安全策略的证明方法是目前国内外研究的热点之一。   出具证明编译器是软件安全的一个重要研究方向,程序员在源码上添加其属性描述形成程序规范,验证条件生成器对程序规范推理演算生成验证条件,接着由自动定理证明器对验证条件求解并生成证明,最后将编译器将生成的可执行文件与证明并输出,代码消费方可以使用自己信任的证明检查器来检查该证明的正确性。不难发现,自动定理证明器在出具证明编译器内部发挥了非常重要的作用。   CComp是我们实验室先前的一个研究项目,是一个能证明部分指针程序正确性的出具证明编译器。在先前工作的基础上,本文在其源级做了扩展,通过添加自定义谓词机制来增强断言语言的表达能力。用户通过定义一些谓词来帮助描述程序的归纳性质,并且通过提供这些谓词所满足性质的等式,来支持出具证明编译器自动完成这些程序性质的证明。这意味着出具证明编译器可以证明的性质将更加丰富灵活。   本文的研究内容主要有:为添加的自定义谓词机制重新设计断言语言,要求断言语言是基于分离逻辑设计的,并且为项目组所设计的出具证明编译器补充设计并实现一个自动定理证明器,以支持自定义谓词。本文的贡献是解决了如何利用用户提供的谓词定义及相关引理,依据特定的推理规则,形成自动定理证明算法的问题。   本文首先介绍了本课题的研究背景和研究现状,接着简单介绍了本课题的项目基础CComp及其流程。本文接着介绍了源级框架下的程序规范,验证条件生成器依据程序语义对程序推理生成验证条件,断言语言上的推理规则,支持自定义谓词及相关引理的自动定理证明器等。最后介绍了两个证明实例和总结。   本文工作的意义在于,通过对支持用户自定义谓词的出具证明编译器中自动定理证明搜索策略的探索研究,扩展了出具证明编译器规范的表达性,程序员能够以此来表达更复杂的程序性质。同时在这个过程中,积累了自动定理证明技术在多理论整合和专用逻辑方面的研究经验,为程序验证的相关研究提供了技术支持与理论基础,提高了高可信软件的开发效率。
其他文献
计算机网络技术的迅猛发展,使得网络协议日趋多样和复杂,协议的开发也面临着越来越多的挑战。协议一致性测试是为了验证协议实现与相应的协议标准之间的一致性,是确保各种计
计算机软件在快速发展给人们带来方便,但同时由于软件规模日趋庞大、形态日趋复杂,而使得许多软件本身的可信性变得越来越脆弱。传统的软件工程方法已经无法满足当今社会对软
随着移动机器人相关关键技术的不断突破,以及我国航空航天、探险救援、消防排爆、核能工业等众多领域的快速发展,迫切需要一种能在野外环境和复杂地形(如矿难现场、地震废墟)
在过去的30年,用于城市地面交通工具中自动驾驶技术的开发已经得到了飞速的发展。目前,现代自主驾驶车辆已具备一定感知车辆周围环境的能力,比如根椐分类所分析对象的类型并进行
信息安全一直以来就在信息科学中占据着重要的角色。当今社会,随着信息时代的到来,特别是网络环境的日益普及,人们越来越关注信息在传输过程和存储过程中的安全性。信息安全
连接操作是基本的关系数据库查询操作之一,是从两个不同的关系中检索满足条件的信息。实现连接的方法较多,其中哈希连接在所有的连接算法中被证实是性能最好的,但现有的哈希连接
云计算是融合了网络存储、并行计算以及负载均衡等传统技术的新产物,具有高可靠性、高可拓展性以及低廉的使用费用等特点,吸引了越来越多的企业加入到云计算的应用行列中。云
新陈代谢是最基本的生命活动,代谢网络模型对理解和分析生物体的生命活动过程具有重要的意义。基因组尺度的代谢网络重构是由物种的基因组标注信息出发,在数据库的辅助下手工或
随着Wi-Fi技术的不断成熟以及无线设备在室内的广泛部署,基于无线信号的室内定位技术受到了越来越多的关注。其中基于位置指纹的定位技术由于其成本低、应用范围广且无需额外
随着软件工程的发展,软件规模的不断扩大,软件项目管理逐渐成为软件开发企业关注的重点。其中作为核心内容的软件配置管理可以使软件开发过程更加合理规范。目前配置项管理仍