基于动态符号执行的MSVL程序模型检测理论与方法

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:xiaopp1920
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件已经成为国防建设与国计民生的重要组成部分,如何提高软件的正确性、可靠性和安全性是计算机软件领域面临的重要挑战。Clarke等人提出的模型检测方法被认为是迄今为止应对这一挑战的最具潜力的方法之一。模型检测方法已经成功用于对计算机软件系统的验证中,但仍存在一些不足:(1)软件模型难以提取;(2)性质描述语言的表达能力不足,部分程序性质无法描述;(3)模型和性质不在同一体系;(4)状态空间爆炸问题。为了解决模型检测中存在的问题,本文对现有的模型检测方法和动态符号执行方法进行研究,将动态符号执行技术应用于模型检测领域,给出了一种新的模型检测方法。本文的主要贡献包含以下三点。1.研究了建模、仿真和验证语言(Modeling,Simulation and Verification Language,MSVL)与命题投影时序逻辑(Propositional Projection Temporal Logic,PPTL)的语法结构、基本语义和范式理论,提出了基于动态符号执行的MSVL程序模型检测理论和方法,从四个方面来应对模型检测中存在四个问题。(1)通过MSVL程序的动态符号执行获取程序的符号执行树作为模型,利用程序执行的方式避免了程序模型提取的困难。(2)利用PPTL描述待验证的系统性质,由于PPTL的表达能力等价于完全正则语言,克服了性质描述语言表达能力不足的问题。(3)MSVL和PPTL同属投影时序逻辑(Projection Temporal Logic,PTL)系统,模型和性质在同一体系,不需要进行额外转换,验证效率高。(4)MSVL程序动态符号执行得到的符号执行树是一个抽象模型,该模型的一条路径代表了满足路径约束的所有输入对应的执行路径。这种对模型的抽象方式能够显著地压缩程序模型的状态数,有效地缓解了状态空间爆炸问题。2.基于现有的MSVL解释器,设计了基于动态符号执行的MSVL程序模型检测工具的基本框架,给出了该模型检测工具的三个主要模块的设计与实现方案,最后利用C++编程实现了该模型检测工具。3.通过“空调控制器”和“自动门控制系统”这两个实例验证了基于动态符号执行的MSVL程序模型检测工具的正确性和可用性。
其他文献
近年来,随着Internet的飞速发展,网络传输速率不断提高,网络应用和服务变得更加多样化,除了传统的WEB、FTP、TELNET等数据流外,还出现了大量新型的网络应用,如实时多媒体、视频等数
近年来,随着计算机技术、通信技术和互联网技术的飞速发展,以及经济的全球化,虚拟软件研发越来越受到关注。然而,虽然有很多学者对虚拟企业进行了广泛的研究,但从已有文献来
结构化P2P系统使用分布式哈希表(DHT)将数据映射到相应的节点上,从而得到了高效的路由算法。设计新型结构化P2P覆盖网络,必须关注的研究技术有:一:覆盖网络拓扑结构的设计。
对等(Peer-to-Peer,以下简称P2P)网络技术是目前计算机网络研究领域的一个热点,目的是充分利用互联网中所蕴含的潜在资源。P2P覆盖网络是一种采用对等策略计算模式的网络,网络
本文设计并实现了基于非接触式IC卡的油品装车管理系统。该系统主要利用非接触式IC卡的先进技术来监督和管理油品装车过程,对装车业务进行有效、科学的管理。本文首先分析射
图像是人类相互交流与认识世界的重要媒体,具有直观、生动和信息丰富的特点。但是数字图像包含的数据量巨大,计算机很难对其直接进行存储和处理,也不利于图像在互联网上进行传输
当前计算机网络的应用已经相当的普遍,并且深刻的影响了人们的生活方式。网络给人们生活带了便捷的同时,也带来了越来越多的安全问题。网络入侵和攻击问题每天都有发生。如何
随着微电子技术、计算技术和通信技术的进步与发展,一枚硬币大小的电路板上可以集成具有存储、计算、通信和感知能力的元器件,组成廉价的传感器节点。无线传感器网络就是由布
P2P系统的广泛应用推动了当前P2P相关技术的发展,随着应用的不断增加,数据查询已经不再仅限于最初的单一关键字查询或关键字精确匹配。目前,结构化P2P系统中对于复杂查询的支
高分辨率合成孔径雷达(Synthetic Aperture Radar,SAR)自诞生以来便受到相关研究人员的关注,SAR分别使用脉冲压缩技术和合成孔径原理提高了距离分辨率及方位分辨率,进而实现