形状图理论的定理证明及其在指针程序验证中的应用

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:power400ljf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息时代的到来和深入,计算机技术已经在各行各业中得到了广泛地应用。但随着计算机软件系统的普及和规模的不断增大,其安全性问题也越来越突出。提高软件可靠程度的方法有很多,形式程序验证是其中一个重要的方法。基于逻辑推理是程序验证中最严格也最可靠的,它根据特定的程序逻辑通过形式化的数学推导演算,并利用定理证明工具来证明。但由于自动推断循环不变式困难、断言语言表达力弱以及自动定理证明能力有限等诸多原因,形式程序验证尚未在工业界得到应用。   本文的工作建立在一个基于形状图逻辑的自动程序验证原型系统上,主要用于指针程序的验证。该验证过程主要分成两个阶段:第一阶段是对指针程序进行形状分析,第二阶段是利用形状分析得到的结果进行程序验证。其中,形状分析阶段使用形状图逻辑和形状系统,实现了循环不变形状图的自动推断,并且对于非递归函数可以推断出函数前后形状图。   本文主要的研究工作是形状图理论的定理证明及其在指针程序验证中的应用。形状图理论主要包括形状图重写系统、形状图等价判定方法和形状图蕴涵判定方法;形状图理论在指针程序验证中的应用主要包括对循环不变形状图和递归函数前后形状图的推断。通过对系统原型做扩展之后,系统能够验证带递归的指针程序。   本文的主要贡献是:   第一,设计并实现了形状图理论的判定方法。   形状图及其等价变换规则和蕴涵变换规则可分别类比为代数项及其等式规则和重写规则,因而可像研究代数规范的理论那样来研究形状图理论。我们定义了形状图重写系统及其终止性、局部合流性和合流性等概念,最后得到基于形状图重写的形状图等价判定和蕴涵判定的方法。   第二,设计并实现了指针类型递归函数前后形状图的自动推断方法。   该自动推断方法源子一个通过迭代推断循环不变式的一般方法,并借助了上述形状图理论的判定方法。该方法的实现使得原型系统能够用于指针类型递归程序验证。   通过上述方法的实现以及对系统原型其他地方的完善,系统原型能够验证平衡二叉排序树和自顶向下伸展树等复杂的易变数据结构的程序。
其他文献
由于有线通信方式对应用范围的限制,人们发明了无线移动通信。近年来,无线网络在支持移动性方面的发展非常迅速,再加上交通领域信息化的迫切需求,车载自组织网络VANET应运而
车辆自主驾驶技术在经济、军事、科技等方面具有重要的价值,但在真实交通环境下,智能驾驶研究面临安全、法律等问题。缩微智能车的实验环境相对封闭,缩微智能车的研究不存在安全
片上多核处理器(Chip Multi-Processor, CMP)已经成为高性能微处理器的发展潮流。高速缓存作为处理器与主存之间的重要桥梁,在计算机系统的性能优化中发挥着重要作用。一种能
在计算机图形学中,三维模型通常使用三维网格表现。网格模型凭借着其直观、生动的表现形式,广泛应用于游戏开发、影视制作、工业制造和旅游景观等领域。然而,较大的网格模型受到
云计算的大规模发展以及云服务在终端的按需供给,使得人们越来越多的感受到云计算提供的便利。伴随着环境的动态化、服务的多样化和用户需求的个性化,云环境下的服务选择问题日
随着多模式人机交互技术的发展,手语识别的研究也得到了越来越多的重视。然而传统的、基于计算机视觉的手语识别技术很难实时捕获手的姿势和位置。2010年11月微软推出Kinect作
云计算是当前信息技术领域的热门话题之一,是产业界、学术界等各界均十分关注的焦点。但是,云计算的发展面临许多关键性问题的挑战,而安全问题首当其冲。随着云计算的不断普及,安
图像相似性在基于内容的图像检索、图像匹配、图像识别和图像拼接等领域有着广泛的应用,大多数关于图像相似性的研究都包含在图像检索、图像配准和图像识别等领域的研究中。
图处理系统作为一种大数据分析工具被用到很多领域中,在图规模不断增大的背景下,对处理系统的扩展能力与并行性提出越来越高的要求,一方面要采取分布式架构实现横向扩展,另一方面
社交网络服务已经成为非常重要的Web服务,它为用户提供与朋友互动的基于互联网的平台。随着支持位置感知的硬件和软件技术的进步,社交网络服务与基于位置的服务相结合形成移动