基于半代数系统的程序验证方法

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:qf125228
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着软件规模的越来越大,软件的安全越来越被人们所关注,而现有软件开发方法及软件测试手段所能提供的安全保证是脆弱和不可靠的。即使经过多次测试后的软件,也不能确保其正确性。如何保证程序的正确性、提高软件的可信度一直是计算机科学界高度关注的一个重要问题,也是推动计算机科学发展的主要动力之一。   程序验证是研究程序正确性的理论,主要涉及到程序的正确性验证和终止性验证。不包括终止性分析的验证被称为程序的部分正确性证明。因此,程序的终止性分析是保证程序完全正确性的必要基础。目前,国内外对终止性的研究主要从两个方面进行:一方面,采用代数理论严格分析并证明循环的终止性,这种方法可以给出程序终止性判定的完备算法;另一方面,利用Floyd,Hoare,Dijkstra等人提出的归纳断言方法去自动验证程序的终止性,主要涉及到Ranking函数的合成和不变量的发现。   近年来,随着计算机代数的不断发展,许多代数方法被引入到程序验证领域,如抽象解释、量词消去等技术,极大的推动了程序验证研究的发展,产生了许多有意义的结论。本文在前人的基础上,结合实代数理论和计算机代数工具,对自动程序验证领域中的终止性和不变量两个关键性问题进行了深入地研究,提出了新的代数算法。   本文的创新点在于:   ·在Ranking函数合成过程中,采用多项式完全判别系统理论对过程函数Q(ε){>,≥0},消去全局量词(ε){>,≥0},该方法没有使用QEPCAD。相较于QEPCAD的方法,该方法效率更高。   ·试探性的提出了Non-Ranking函数的概念,使得构造Non-Ranking函数成为验证程序不终止的一个充分条件,该方法可以和合成Ranking函数的方法并行进行,提高了终止性判定的效率:   ·利用不动点理论,利用不动点理论,对定义在多个区间上的非线性循环程序进行了终止性研究。研究表明,当添加区间端点值的符号限制以后,该类多区间非线性循环程序的终止性是可判定的,并给出了相应的判定算法和参系数的离线判定系统;   ·对一类赋值矩阵为(准)线性方程组的循环程序,证明了其终止性是可以判定的,并给出了相应的判定方法。
其他文献
脑卒中是导致死亡的第三大杀手,是致运动残疾的主要疾病。77%的脑卒中患者上肢留有不同程度的运动功能障碍,严重影响患者的生活自理和参与社会能力。患者上肢运动功能的恢复主要
随着信息技术的发展,信息系统的数据规模不断加大,业务需求日益苛刻,原有信息系统不断被更高配置的系统所取代,而生产过程中积累的数据不能因为系统升级而丢失,需要迁移到新
“Web服务”已经成为网络环境下对资源进行封装、抽象和虚拟化的主要手段之一,它是一种自描述、自包含、平台无关的自治计算单元。面向服务的计算SOC(ServiceOrientedComputi
随着云计算和数据密集型计算技术的飞速发展,数据中心网络作为底层基础设施逐渐成为云计算和网络研究领域的热点。数据中心网络内部的传输性能直接影响上层应用的效率,但研究发
现有的机器人本身计算能力有限,仅靠自身的传感器接收的信息也有一定的局限性,还不足以胜任面对复杂场景的应对能力,也不能够满足人们对服务机器人的期待。互联网中包含着丰富的
星空背景图像仿真是航天仿真中的一个重要问题,尤其在空间探测仿真系统,星空背景图像仿真对系统仿真结果有着重要的影响。图像仿真子系统模拟载荷相机在虚拟星际空间拍摄图像
意见是人们对实体、事件或它们的特性所产生的情感倾向、评价或感觉等内在想法的主观性表述。组织和个人都倾向于决策时参考他人意见。本世纪互联网应用的迅猛发展使人们收集
随着空间探测的发展,深空探测成为了航天领域的发展重点,由于深空环境的复杂性,空间数据处理系统向高集成、体积小、多功能、模块化方向发展已成为一种趋势。同时,现代航天任务更
分子结构优化对于分子建模、药物分子设计和蛋白质研究都具有重要的意义。国内外对分子结构优化的研究已经有了比较系统的理论基础,国外也有很多支持分子结构优化的软件,但是国
Android是基于linux内核的开源操作系统,被广泛地应用于电视、数码相机、可穿戴设备、平板电脑上。凭借开源策略及精准的市场定位,Android系统占据了智能移动终端操作系统84.2%