安全C语言形状系统的设计与实现

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:BlueDragon8848
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机技术的蓬勃发展,使其已经深入到各个领域,从随处可见的智能电子设备到规模庞大的服务器集群,信息服务已经无处不在。在软件功能不断增强的同时,安全问题也变得尤为重要。形式程序验证是提升软件安全性的一种重要方式,而基于演绎推理的程序验证是其中最严格也是最可靠的一种。它根据特定的程序逻辑,通过形式化的演绎推理,并且使用定理证明器进行证明。但由于循环不变式推导困难、定理证明器能力不足等原因,形式程序验证在工业界刚有初步应用。本课题组基于形状图逻辑开发了一个面向PointerC语言进行验证的原型系统,能够完成五种基本形状的验证。但是原型系统中使用的PointerC语言仅为实验性质的类C语言,不具有实用价值。因此本课题组重新开发了安全C语言验证系统,它面向几乎完整C语言进行验证,并且在程序中使用描述能力较强的安全C的规范语言描述程序的行为性质。验证系统验证的一般流程是:以源程序中函数性质的描述为前提,使用符号断言与形状图共同进行演算,最后利用形状图理论以及自动定理证明器来证明演算过程中生成的验证条件。其中形状图用于描述程序中堆指针相关的性质,其演算规则与逻辑关系证明等由形状系统与形状图逻辑提供。而形状图逻辑在许多方面仍然不够完善,特别是针对二叉树形状设计的规则仍然不够全面,这大大限制了验证系统的验证范围。本文的主要工作就是扩充形状图逻辑并且在安全C语言验证系统中基于形状图逻辑实现形状系统。形状图逻辑的扩充包括三个部分,第一部分是通过增加二叉树形状的变换规则、设计判断循环体类型的判断算法以及修改循环不变形状图推断过程,增强形状系统对二叉树程序的验证能力。第二部分是通过对形状图演算规则的简单修改以及增加部分单链表的变换规则,使形状图逻辑更易于实现,也更加适用于C语言的语义。最后一部分是通过对循环不变形状图的推断流程的改进,以减少循环迭代的次数。安全C语言验证系统中形状系统的实现基于本文扩展的形状图逻辑。形状系统使用形状图存储程序中堆指针之间的关系断言,可以为验证系统提供堆指针别名判断、堆指针性质验证、循环不变形状图自动推断以及报告内存泄漏等功能。本文对形状系统实现部分的介绍,主要包括五个部分。它们分别是形状系统验证流程的简单介绍、使用比较统一并且简单的方式基于形状图变换规则对形状图进行展开和折叠的算法说明、通过将形状图转换为指针序列的方式来证明形状图之间蕴含关系的算法实现、改进后循环不变形状图推断流程在形状系统中的实现以及使用虚拟变量与程序变量的对应关系完成形状图的抽象的过程。
其他文献
贝叶斯学习作为机器学习的重要分支,为解决数据的建模问题提供了一种重要的方法。其中的稀疏贝叶斯学习算法凭借其概率的预测和稀疏的模型等特点,成为机器学习中的经典算法之
问答是自然语言处理和信息检索领域的一个重要研究分支,它融合了多种自然语言处理和信息检索的相关技术,是比搜索引擎更人性化的向人们提供所需信息的一种手段。受社会的不断进
随着H.265、AVS 2等新一代视频编码标准制定工作在国际和国内的同步展开,视频编码技术正在步入新的快速发展阶段。新一代视频编码标准对混合编码框架的性能提出了更高的要求
随着信息时代数据规模急剧增长,信息量不断激增,数据信息已成为人类宝贵的财富,数据的价值已经远远超过了计算机系统本身的价值;另一方面,各种不确定因素又使得数据极易丢失,
近年来,嵌入式系统在工业控制、信息家电、汽车等领域得到了广泛地应用。嵌入式系统对功能、可靠性、实时性、成本、体积和功耗等方面有严格要求,大大增加了其开发的复杂和困
本文以东华大学教育资源搜索引擎为研究背景,该搜索引擎主要检索东华大学站内信息和全国各高校的招生信息及其精品课程信息。它不仅可以方便在校师生查找校内信息,也可以为其
细胞中的各种生命活动与蛋白质间的相互作用紧密相关,同时,蛋白质相互作用过程的不和谐也导致了人类疾病的产生,因此深入理解蛋白质相互作用,不仅是揭示生命活动奥秘的前提,而且对
自从美国著名控制论专家扎德L.A.Zadeh教授提出Fuzzy集理论以来,模糊理论在众多领域都得到了成功的应用。在现实世界中,Fuzzy集理论无法准确表示和处理相当一部分具有模糊性
移动自组网(MANET,即Mobile Ad Hoc Network)是一种无中心、多跳、自组织的对等式无线通信网络,与传统的无线局域网不同,它的组建不依赖于预先存在的网络基础设施,而是由既是
膜计算模型(也称P系统)是从生物细胞的组织结构、功能中得到启发,抽象出的一种分布式、并行性的新型计算模型,它是自然计算的一个新分支。由于其内部结构的一些固有特性,P系