应用Dixon结式研究程序验证

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:liubin523
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序验证是计算机程序设计领域的传统研究课题,也是当前非常热门的可信计算研究的重点方向之一。然而,对于常见的绝大多数程序而言,完全正确性验证还是非常困难的。   程序的部分正确性和终止性是程序验证中两个重要的研究内容,得到了大量关注和广泛研究。研究程序的部分正确性主要的方式就是计算程序的不变式。循环不变式在程序验证领域发挥着不可替代的作用,它不仅是传统的归纳断言法的基石,而且在目前流行的很多软件验证技术中扮演着非常重要的角色。然而,循环不变式的自动构造技术一直是一个巨大的挑战。程序终止性是不可判定的。但是,很多具体程序可以通过严格的数学方法证明其终止性。   因此,本文对程序的循环不变式计算和程序的终止性证明进行系统、深入的研究,主要工作包括:   (1)对于循环程序的部分正确性,本文基于代数变迁系统理论通过不变式技术来进行验证。首先把待验证的循环程序转换为一个代数变迁系统,再根据程序循环体内的变迁关系,预先设计一个参数化的多项式模板集合作为预选不变式,依次从模板集中选取模板与初始条件和变迁关系分别组成一个多项式组。通过分别计算这两个多项式组的Dixon结式,从而获得该循环不变式模板必须满足的初始约束条件和连续约束条件,最终得到全局约束条件。通过对全局约束条件求解,进而得到具有该模板形式的循环不变式。根据模板的不同形式和约束求解的结果,最终得到不同形式的循环不变式,包括线性的、非线性的循环不变式。在对全局约束条件求解时,如果所对应的齐次线性方程组的解不唯一,则获得一组多项式方程共同构成一个合取形式的循环不变式。同时,这种循环不变式生成方法对于单分支和多分支的循环程序都是适用的。   (2)本文根据设计不变式模板集的一般方法所构造的模板项数太多,造成约束求解效率低下的问题,提出了一种启发式的设计模板方法,降低不变式模板的规模,提高了发现循环不变式的效率。   (3)对于验证循环程序的终止性,本文采用有限差分法来进行分析。虽有文献提出了验证循环程序终止性的polyranking方法,使用有限差分树来对一类多项式循环程序的终止性做出定性的分析。但是,对于循环程序的循环条件表达式与其差分值之间的关系,没有做深入的分析。本文使用有限差分法在循环条件表达式和其各次差分值之间建立起了联系,并且给出了严格的证明。从而,我们不仅能够分析循环程序终止的定性行为,而且能更深入地分析循环终止性的定量行为。在此基础上,解决了具有这种行为特征的多路径、非线性赋值的循环程序终止性判定问题。
其他文献
载人航天技术是世界各国探索太空领域的重要技术手段,并且是衡量各国军事和工业发展水平的重要标志。保证航天器发射、运行和返回过程不出差错,不仅可以避免巨大的经济和物质损
地球静止轨道卫星具有大覆盖以及实时性等特点,可对灾害性天气现象的发生、发展和消亡进行有效监测,能弥补极轨气象卫星时效差的缺陷。微波探测相比可见光/红外探测具有更强的
学位
大规模地形绘制一直是图形学研究的热点问题。尤其是球面地形绘制,它在形状和数据组织方面相较于平面地形绘制更加复杂,一直处于研究重点和难点。对球面地形的可视化仿真希望达
近年来,随着计算机技术的迅速发展,图像处理技术在空间科学实验中得到了广泛的应用。本文在图像处理中的几项关键技术的研究基础之上,结合相应的空间科学实验环境特点,将相关技术
随着我国航天技术的发展,越来越多的空间科学实验在空间飞行器上进行,各种成像类仪器在空间科学实验中的需求也逐渐增多,导致了电子学处理的数据总量显著增加,从而对仪器设备之间
数据蕴含的巨大价值驱使大量研究的开展。然而,大数据呈现碎片化的特征,形成多源、割裂、异构的数据形态,使得数据的利用变得困难。为了能够使数据价值的最大化,往往需要把多个来
自然语言构成的文本中往往包含了丰富的信息,但是这些自然语言描述的信息是提供给人阅读理解,计算机无法组织里面的有效信息加以利用。一般的解决办法是人工直接从文本中提取信
精确的鸟类分类识别是鸟类学研究的基础。然而,一直沿用至今的形态学鉴别和传统比对算法各自存在一定局限性。近年来DNA条形码(Barcoding)技术在鸟类物种识别与分类方面起到了
甚长基线干涉测量(Very Long Baseline Interferometry,VLBI)是一种新兴干涉测量技术,通过延长基线和提高观测频率可获得极高的空间分辨率和基线测量精度,为目前角分辨率最高的