程序终止性的分析和验证

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:shuimolanting
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
对程序进行分析和验证是当今计算机程序设计研究领域的前沿课题,如何保证程序按照人的预先设定严格执行而不出错是当今信息科学和可信计算技术与理论研究中的核心科学问题。近年来,随着符号计算理论的不断完善,利用精确的数学理论和方法对程序验证领域的相关问题进行研究的思路引起了越来越多的关注。   总的来说,程序验证领域包括三个侧重点各不同的研究方向:不变式生成、程序终止性验证以及程序可达性分析。三个方向在程序验证领域都有着各自的用途,具有不变式的程序是部分正确的;如果程序是部分正确的同时又是终止的,那么这个程序是完全正确的;如果程序中有语句不可到达,不能说程序是错误的,但应该警告有多余的或者没有起到预先设想的语句存在。相比较而言,不变式的存在和程序的可达性更加注重的是程序细节,而程序终止性验证更加注重的是程序的整体属性。总的来说,这三个方面辩证统一,对于程序验证缺一不可。但是三个方面的研究侧重又各有不同。因为程序终止性是保证程序正确的基础,所以本文主要在程序终止性的验证方面做了一定的研究。   在程序终止的前置条件生成方面,本文基于有限差分树相关概念和理论提出试差算子和相应的试差法,并设计了相应算法以生成线性循环程序终止的前置条件。当试差算子有限并且非零最高阶试差算子为负常数时,程序是终止的,此时前置条件即为任意初始值;当试差算子有限并且非零最高阶试差算子为正常数时,结合半代数系统及其工具Discoverer可以判断程序是否有不终止点;当试差算子有限并且非零最高阶试差算子为循环变量初值的表达式时,首先获得循环条件表达式为一多项式,再根据其主导项符号为负从而生成使程序终止的前置条件;当试差算子为一无限序列时,写出试差算子的通项公式,从而获得循环条件表达式的通项公式,再根据循环条件被破坏生成使其终止的前置条件。   由于利用试差算子不仅可以获得循环条件表达式的通项公式,也可以得到循环变量的通项公式,所以结合试差法和循环复杂度上界的计算,可以将循环程序终止转换为循环程序具有循环复杂度上界,从而验证程序是否终止。进一步地将这种方法用于部分含分支的线性循环程序的终止性验证上,因为含分支的线性循环程序可以转化为含嵌套循环的线性循环程序,那么含分支的线性循环程序终止当且仅当对应的含嵌套循环的线性循环程序具有确定的循环复杂度上界。本文试图利用这种技术验证角谷猜想的正确性,但随后发现由于内嵌循环的复杂度上界不能明确给出,以至于不能表示出外层循环的循环变量通项公式,无法验证外层循环具有循环复杂度上界,最终验证失败。虽然没有能验证成功,但这次实验却向我们揭露了一个事实,那就是最简单的含分支的线性循环程序其复杂度也是非常大的,所以在这个方面还需要更多理论的引入,并逐渐完备起来。   对于非线性循环程序而言,非线性系统固有的复杂性更是令人望而却步。本文首先利用试差法分析和验证了一些具有特殊函数形式的非线性循环程序的终止性。这应该视作是对非线性程序验证的一种有益尝试。此外,基于函数迭代与程序循环本质相同这一观点,借助吸引子的判断方法,本文还提出了一个实用的对区间上的非线性循环程序的终止性进行验证的算法,并得到一类特殊类型的循环程序在两个不相交区间并上不终止的验证方法。最后,基于符号动力学的相关理论,本文对在有限个不相交的有界区间上的非线性程序的终止性进行了分析,利用区间和函数的转换图,本文给出了具体的验证算法。
其他文献
本文着重研究如何使用基于GPU的并行化技术,尤其是基于OpenCL的并行化技术,对分组密码算法中的AES以及KLEIN两个算法进行并行化优化。与以往的并行化实现方式相比,基于GPU的并行
域名系统的安全运行对整个互联网的安全和稳定至关重要,其主要作用是完成域名到IP地址的映射,域名系统包括存储域名数据的权威服务器和代理互联网应用域名查询请求的递归服务器
航天嵌入式系统工作在恶劣的太空环境下,容易产生瞬时或间歇性故障,因此,可靠性评价成为系统性能检测的重要环节。故障注入方法是评测容错计算机系统可靠性的有效方法之一,它通过
学位
基于OFDM-MIMO技术的宽带无线通信系统的快速发展使用户随时随地接收移动电视、视频点播、在线游戏等高带宽的多媒体业务成为了可能。为了高效传输可以同时被多个用户接收的
由于我国的空间技术的迅速发展,航天嵌入式系统的复杂性急剧增加,导致星载嵌入式软件呈现多任务化的趋势。使用主循环加中断的方式开发星载多任务软件,存在以下几个问题:一、开发
非线性系统的分歧问题一直以来都是动力系统研究中的一个热门问题。它不仅在理论上有着重要的研究意义,而且还可以与自然现象密切相关,如对称磁场中的平面单摆运动、生物种群和
随着我国载人航天工程和地面互联网技术的快速发展,特别是建设载人空间站目标的确定,航天任务逐渐呈现多样性、长期性及国际合作的迫切性,这使得建设天地一体化互联网成为必然趋
网络虚拟化技术在未来互联网的研究中具有重要的意义,斯坦福大学提出的OpenFlow[1]技术由于其高度的开放性而受到了业界和学术界的欢迎,并且逐渐成为了网络虚拟化的主流技术。
随着云计算和大数据的发展,云数据中心的基础实施承载了大量的应用,云基础设施在运行过程中会产生大量的告警。由于云数据中心的基础设施规模庞大,导致云数据中心的告警产生规模