用于交互式程序验证的数据流分析技术

来源 :南京大学 | 被引量 : 0次 | 上传用户:lllwan1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件开发过程需要保证程序满足正确性规约。目前主要有软件测试、模型检验等技术用于程序的正确性保证。软件测试通过测试用例集来描述正确性规约,在测试用例集上执行目标程序以判断结果是否符合预期;模型检验通过自动机、Petri Net等对软件系统进行建模,判断软件系统运行过程是否会出错。但是测试方法只能保证程序在一定覆盖度下满足规约,无法证明程序正确,而模型检验方法使用分析程序状态来判断是否会有不安全的错误情况,存在状态空间爆炸的问题。它们不适合针对计算处理过程的程序验证。为了准确地验证和数据处理计算相关程序性质,相关研究者提出了使用逻辑推理系统如Hoare Logic对程序进行静态验证的方法:分析人员用包含自定义递归函数的逻辑公式描述程序程序的状态,并使用逻辑系统的推理规则分析程序状态在语句执行前后的变化。分析人员还可以使用约束求解器等工具辅助推导更多的性质。研究人员对Hoare Logic进行扩展得到Separation Logic和Scope Logic,更是使得逻辑系统具有了处理指针别名的能力。然而基于逻辑系统人工推导性质的过程十分复杂,涉及多种推理规则的结合使用。尤其是当处理循环语句和递归数据结构时,人工分析更是容易发生错漏,所以该方法对分析人员的经验和能力有较为苛刻的要求。为了使得基于逻辑系统的程序验证过程更加准确和高效,本文提出了如下的方法:·提出了一种在Scope Logic上进行交互式的程序验证的方法。多种分析技术之间通过程序点的逻辑公式进行协作。分析人员可以与分析过程进行交互,手工进行程序性质的验证,也可以自行指定多种分析技术结合进行程序性质的分析。分析技术只要满足相关约束,即可参与交互程序验证的过程。交互式的程序验证可以保证灵活性,可以提高程序验证的自动化程度。·提出了使用数据流分析结合Scope Logic对程序性质进行自动分析的方法。分析人员将递归函数公式描述的程序性质取值转化为交半格表示的数据流值,并为数据流值设置随着程序语句传播的过程。数据流算法便可自动化求解最终的程序状态。分析过程自动将结果转成公式,并且自动设置公式的来源和依赖关系。当数据流分析过程满足相关约束时,该数据流分析过程就可以作为一种自动化技术参与交互式程序验证。分析人员保证数据流值半格高度有穷和传播过程的单调,即可保证数据流迭代算法收敛。通过使用该方法进行自动化验证,程序验证的效率得到提高。我们将以上数据流分析的方法在基于Scope Logic的程序分析工具Accumu-lator上集成实现,分析人员可与工具交互,使用不同分析过程验证程序性质。我们使用该工具分析了一系列递归数据结构操作实例,主要包括单链表形状变化的代码,如单链表的插入、删除和翻转等。实验对正确和错误的代码都进行了分析,实验结果表明,分析人员使用我们的方法得到的结果满足Scope Logic的规约,可以有效地与其他技术进行交互,因而可以准确地验证程序性质。
其他文献
该文从计算机辅助教学的基本原理和发展状况出发,在对计算机辅助教学和网络多媒体教学系统进行研究的基础上,结合当前流行的网页技术和多媒体技术,对开发网上多媒体日本语教
该文将智能Agent技术与搜索引擎技术结合起来,构造了一个智能信息服务系统.论文首先介绍了智能Agent技术的产生、定义、特性、结构,并对多Agent系统及Agent之间通讯协议进行
当今世界,伴随着计算机网络的飞速发展,网络上各种设备的不断增多,网络管理变得越来越重要,也变得越来越复杂了。被称为下一代网络管理技术的JMX协议规范也就在这种情况下应运而
丰满水电仿真系统的开发目标是建立一个对实际电厂水力发电机完全仿真的环境,用于对学生进行培训,达到完成培训后即可上岗工作的要求.全套仿真系统基于计算机进行开采,采用了
该文针对打印机彩色特性不能在线自动检测以及采用分光测色仪测量色度值效率低、劳动强度大等问题,提出了采用CCD扫描仪对打印机彩色特性进行自动检测的思想.着重对采用CCD扫
视频会议系统是计算机技术和通信网络技术两者融合而形成的产物,它能为远程相隔的用户建立相互之间有效的合作环境。但传统的视频会议系统,由于设备复杂,投资比较大,所以不能普及
该文在对GDSS和CSCW进行了初步的基础上,概括出了一个基于CSCW的GDSS的框架模型,并对其中的信息收集部分作了进一步的研究.
随着计算机技术的广泛应用,对分布式操作系统的需求越来越大,分析当前国内操作系统的发展趋势,我们迫切需要开发一种属于自己的操作系统。考察信息时代的市场,可以发现VOD(视频点
该文提出了一种新型的语音答录器的设计方法,它采用单片机作为核心控制单元,ISD语音芯片作为语音合成及存储器件,这种答录器的语音存储不需要数/模、模/数转换器件,因此音质
电子病案是医药卫星信息化发展的高级阶段,是当今世界各国研究的热门课题.该文从系统的设计背景出发,详细叙述了全信息电子病案系统的功能、结构及解决的关键技术,从数据管理