一种基于软件源代码级的验证技术研究

来源 :华中师范大学 | 被引量 : 0次 | 上传用户:yahu911
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
信息技术在现代生产生活各方面的应用越来越广泛,作为信息技术核心支撑的软件系统也变得越来越重要,其应用正在逐步渗透到社会的各个领域中去。时至今日,现在各行各业中的应用已经很难离开软件而独立运作了。软件系统已经成为了与我们的工作、生活密不可分的重要部分。软件系统的可靠与否,直接影响着人们的生产生活。在这个背景下,人们对软件系统的可靠性提出了越来越高的要求。软件系统中最重要的实体形式是源代码,软件系统的可靠性需要源代码的可靠来保证。伴随这软件规模的增长,软件开发的周期越来越长,如何保证源代码的正确性一直是计算机学界研究的重点和热点问题。模型检测技术是一种常见的形式化方法,该方法最初用于硬件设计验证和协议分析。伴随着各种软件问题的出现,研究者提出用模型检测技术验证软件巾的相关特征或性质是否满足系统需求或设计要求,这一技术近年来已经被用于针对软件源程序级的验证。本文提出了一种基于模型检测技术的源代码级的验证方法。本方法通过对源代码的抽象语法信息的分析以及与SPIN模型检测工具输入语言Promela的比较,给出了一种从C语言源代码到Promela语言的转换方法。通过这种转换,我们可以得到与C源代码一致的Promela模型,从而可以借助SPIN模型检测工具来间接地验证C语言源代码中的相关性质。本文所做的主要工作包括如下几个部分:首先,通过对源代码的抽象语法信息的分析,得到与源代码对应的控制流图结构,该控制流图结构作为下一步转换工作的基础;其次,对Promela语言和C语言抽象语法信息进行了比较分析,给出了包括控制结构、函数和指针在内的相应转换规则;最后,在上述转换规则的基础上,实现了一个原型工具,能够完成从CFG到Promela的转换,并且实现用SPIN进行指定性质的验证。
其他文献
自然科学、工程设计、生产实际和现代化管理等领域中的很多实际问题都可以转化为目标优化问题来求解。优化技术是用于求解各类工程近似解或最优解的技术手段。一些传统的优化
1976年,公开密钥密码体制的提出是密码学的一次变革,它开辟了密码学的新时代,使得密码系统具有更高的安全性。但是,随着科技的不断进步和计算机的更新换代,攻击者破解加密信
图像分割是一种将图像分成互不重叠的区域并提取出感兴趣目标的技术,它是进行图像分析与理解的前提,图像分割的好坏直接影响到图像的分析结果,因此,图像分割在理论和实际应用中都
对无线自组网的研究主要有三种方法:软件模拟技术、实物测试床技术和半实物仿真技术。软件模拟技术通过对计算机模型来研究无线自组网的运行规律,该方法成本小、周期短,而试验
随着互联网宽带用户的普及和网络视频内容的爆炸式增长,流媒体点播服务使得人们接受信息,交流信息的方式发生前所未有的改变,流媒体点播服务已成为当前互联网最热门的应用之
随着计算机技术的飞速发展,多媒体数据的急速膨胀给我们带来了机遇和挑战。在浩如烟海的多媒体数据中,图片和视频具有生动形象的特征,能给人耳目一新的感觉。怎样在众多的图
我国目前煤矿开采业存在机械化、自动化、信息化程度低等技术不够成熟的问题,是导致煤矿事故频发的主要因素之一。矿井机车运输作为煤矿井下开采过程中的重要一环,它对提高生产
场景图像分类在图像检索和视频检索领域得到广泛的应用,已成为计算机视觉领域的一个研究热点。场景图像分类的主要难点问题是低层视觉特征与高层语义之间存在―语义鸿沟‖。近
无线传感器网络通常由部署在特定区域的数量庞大的微型传感器组成,这些传感器节点之间互相协作对需要监测的目标区域进行监控并实时采集需要的数据。节点采集到的数据通过节点
随着网络的广泛应用和即时通信(Instant Messaging, IM)软件的迅猛发展,利用即时通信系统和即时通信协议的漏洞或者技术特征进行攻击,并在即时通信网络内传播的即时通信蠕虫(IM