解决自动定理证明器在程序验证中两点能力不足的办法

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:ling0918
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当今社会,计算机安全问题的严峻形势使得人们迫切需要高可信软件。形式化验证方法是提高软件可信度的一种可靠的方法,其中基于演绎推理的的方法更是近些年来的研究热点。  本实验室基于演绎推理方法设计并实现了一种形式化程序验证的工具——面向PointerC的程序验证原型系统(简称原型系统)。它是一个源码级的程序验证工具,其特色是先通过形状分析得到指针之间的关系,然后根据Hoare逻辑的扩展对程序进行演绎推理并生成验证条件,最后交给自动定理证明器证明。  然而自动定理证明器对于本原型系统来说具有两点能力不足,第一点是无法进行归纳证明,第二点是无法自动发现全称量词彼此之间的联系。本文针对这两个问题,在实验室原有的工作基础上对原型系统的功能进行改进。  本文的主要贡献如下:  第一,设计并实现对程序员提供的性质定理的自动归纳证明。为了提高断言语言的表达能力,原型系统引入自定义归纳谓词。程序员有时在编写程序代码的过程中,会利用到递归定义谓词的归纳性质。同时,由于自动定理证明器在证明验证条件的过程中无法推导出这些归纳性质,程序员需要给出相关的性质定理辅助自动定理证明器证明。为了保证性质定理的正确性,本文给出了对性质定理先进行分析后进行结构归纳的方法,实现了性质定理的自动证明。  第二,改进了带有全称量词断言的程序验证功能。当验证条件中包含全称量词断言时,自动定理证明器会因为无法发现多个全称量词彼此之间的关系而证明失败。本文提供了一种结合形状图对全称量词断言分组的思路,并且依据这种思路对验证条件中出现的全称量词进行处理,从而使得原型系统可以通过验证条件中包含多个全称量词断言的程序的验证。  本文对原型系统进行扩展后,解决了当前原型系统中因为自动定理证明器两点能力不足带来的问题。保证了程序员提供的性质定理的正确性,不仅使得之前所有操作易变数据结构的程序实例的验证结果更加可靠,还使得原型系统可以验证包含多个全称量词断言的程序。
其他文献
地质图件是表达地质体特征,地质体时空结构及地质过程产物最基本、最常用的工具,是各种地质工作成果的最基本表现形式。特别是石油勘探开发研究中,地质图件可以表达沉积、地层、
目前国内有不少相关的实训平台,给软件工程教学带来了一定的便捷性。但现有的软件开发实训平台大都存在系统功能单一,缺乏灵活性且仅停留在演示阶段等弊端,学生无法真正从中
宏基因组测序序列分类问题是宏基因组学研究的一个重点问题。用实验方法进行分类代价高且速度慢,故利用分类算法进行分类的计算手段成为了一种趋势。主流的分类算法有基于比对
工作流是一种反映业务流程的计算机化的模型,是为了在先进计算机环境下实现经营过程集成和经营过程自动化而建立的可由工作流管理系统执行的业务模型。工作流引擎是工作流管
随着世界经济及信息技术的迅猛发展,越来越多的企业业务往来通过电子商务系统展开,而系统间的异构带来了诸多不便.为了消除或减弱异构系统间互操作的不便,面向服务的架构体系(Ser
计算机指纹识别技术己经在多个领域获得了应用。目前主要应用在公安刑侦、安全检查、办公指纹打卡、汽车门锁、银行保险箱等领域。其识别算法一般包括图像预处理和特征匹配两
西部高原复杂的地形地貌和恶劣多变的气象条件,使得高原机场对飞行员的技能要求远远高于其他普通机场,而飞行模拟器也已成为训练飞行员不可缺少的设备。随着遥感和虚拟现实等
双目立体成像是计算机智能视觉的重要分支,是指对于同一场景中的两幅立体图像对,当观察者经过匹配和理解后,能感知到具有立体感的景象。该技术在虚拟现实、多媒体教学、数字
任务调度是实现高性能网格计算的一个基本问题,调度策略直接影响网格的性能,网格自身的分布性、异构性、动态性、自治性等特征对传统的调度算法提出了新的挑战,网格任务调度
随着Internet应用迅速发展,软件运行环境正经历从集中封闭的计算平台向开放、动态转变,并将逐步被基于服务的计算模式所取代,这就导致传统的软构件技术很难应对这些变化。本