基于构造形式证明的程序验证

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:net_worm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Internet的广泛应用和移动计算领域的不断扩大,人们对高可信软件的需求越来越多,从而对软件的可靠性和安全性提出了更高的挑战,因此软件安全问题再次显得至关重要。用形式化方法在软件开发过程中进行严格推理是提高软件安全性的根本途径。在众多的形式化方法中,近十年来从构造程序形式证明的角度来支持代码安全性的研究引起了广泛的关注。 按照对安全性质推理方法的不同,目前研究代码安全性主要有两类方法:基于类型论的方法、基于Hoare逻辑的方法。而后者正是本项目的研究领域。自动定理证明器和随之产生的出具证明的验证编译器都是这个领域的研究热点。相关的PCC项目和CAP项目具有重大的影响力。 本文的工作基于我们的现实验证汇编语言(RealisticCertifiedAssemblyLanguage,简称RCAL86)项目。它提出了一种低级的机器语言RCAL86和采用形式化方法构造证明的开发框架。本文介绍了基于构造形式证明的程序验证方法。该方法将形式化技术应用到程序验证领域,将Hoare逻辑的推理方式用于低级语言性质的推理。 本文重点讨论了程序满足安全性质的证明方法和技术,并且结合验证Buddy程序的构造过程详细讨论了验证程序的开发过程。文中对过程的三个阶段:标注、形式化、证明进行了重点阐述。文中不仅给出了每个阶段包含的内容,还根据构造验证Buddy程序的实践讨论了每个阶段遇到的主要问题、问题的解决方法以及总结了每个阶段工作的经验。本文还研究了采用证明工具Coq构造证明的方法、证明结构和证明策略等。Coq系统的使用简化了证明过程,提高了开发证明的效率。 验证Buddy程序的整个构造过程给出了开发程序形式证明的新思路。通过构造Buddy系统的验证程序,我们可以得知RCAL86语言具有很好的表现力,也可以得知基于构造形式证明的程序验证对于形式化方法的应用具有很好的借鉴价值。
其他文献
目前Internet上出现了很多专门的构件库,但是不同的构件库有不同的组织和访问方式,从而导致了对各构件库中的构件访问困难,本文主要研究分布式环境下构件库的系统框架。本文
Internet的迅速发展给人们带来诸多方便的同时,也带来了诸如信息过载、信息迷向、不良信息充斥网上等等很多问题,信息过滤应运而生。中文文本信息过滤是中文信息处理的一个分支
语义Web是Web发展的一个新兴方向,致力于Web上信息的语义化。而Web服务则将Web应用以服务的形式提供给用户,隐藏了其实现的具体细节。语义Web服务就是给Web服务的定义中加入
随着网络带宽及语音传输质量的不断改善,IP电话凭借其成本低廉和传输速度快两大优势已成为传统电话的主要竞争对手。作为IP电话业务的关键部分,一套高性能的通信计费与综合营帐
目前,由于企业需求的复杂性、多变性的快速增长,拥有一套快速开发平台已经成为满足当前企业级应用需求的有效解决方案。这也是开发人员和软件系统集成商都在寻求的一种可以大
本文提出了基于无线传感器网络的新一代无线水表系统,大幅度提高了水表系统自动化程度,简化了工作人员抄表流程。文中重点介绍了无线传感器网络的路由协议设计,并为水表系统
在人类社会走向信息化时代的今天,通信,作为社会的基础设施、国民经济的先行产业、改革开放的必要条件和社会生产力的重要组成部分,日益广泛地被世界各国所重视。人们对通信服务
当前计算机网络的发展特点是规模不断扩大,复杂性不断增加,异构性越来越高。一个网络往往由若干个大大小小的子网组成,集成了多种网络系统、平台,并且包括了不同厂家、公司的
计算机系统的多任务处理功能最初只应用于企业级计算,现在Intel公司和其他硬件厂商正在推出的多核微处理器,试图为个人电脑提供性能强劲的多任务处理能力,而作为与人们生活关系
继主机计算、个人机计算之后,网络计算已经发展成为第三代的计算模式。在网络计算中,普适计算又成为其中最重要的分支之一。普适计算强调以“人”为中心的计算,目的在于形成一个