动态符号执行中程序插桩的研究与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:xub23
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
符号执行介于程序验证和程序调试之间,是一种静态分析方法。但是符号执行不能全面的对软件可靠性进行检测。因此在符号执行的基础上,发展出了动态符号执行。动态符号执行用符号值来表示程序的输入值,并且为程序提供一个具体值的输入,在应用程序执行的同时进行符号执行,用符号执行来收集条件,求解条件得到具体输入,覆盖尽可能多的路径。程序插桩技术是动态符号执行中的重要技术之一。程序插桩技术是对具体的程序进行分析,构造它的插装模块。在动态符号执行中我们对源程序进行分析,构造插桩模块实现对输入值的符号化、符号计算以及约束收集。程序插桩在程序分析和程序检测方面都有着广泛的应用。目前研究者开发出了一些动态符号执行工具,但基本都是基于Linux平台的。本文是在Windows平台下对动态符号执行技术进行研究,程序插桩的实现也是在该平台下进行的。本文的主要工作是对动态符号执行中的程序插桩进行研究和实现。本文的插桩是基于底层虚拟机(Low Level Virtual Machine,LLVM)中间表示(Intermediate Representation,IR)的,在插桩函数中实现符号运算以及约束收集。本文主要贡献主要有以下几点:1.对动态符号执行技术进行研究,以动态符号执行为目标,设计出Windows平台下的动态符号执行框架。2.研究LLVM IR语言,对其进行词法语法分析,在程序分析的过程中,收集插桩信息。本文主要是对建模仿真验证语言(Modeling Simulation Verification Language,MSVL)编译器产生的LLVM IR进行插桩实现动态符号执行。3.设计实现动态符号执行中的程序插桩。实现动态符号执行中程序插桩的两个目标。(1)设计插桩函数,实现对程序输入值的符号化,对符号变量的运算,以及对约束条件的收集。(2)输出程序的控制流图以供后面路径搜索使用。4.选取具有代表性的测试用例和一个实例“冒泡排序”验证了动态符号执行中程序插桩的正确性和可用性。
其他文献
采用固定化金属螯合亲和色谱法(IMAC),从蛋清中分离和提取卵转铁蛋白(OVT).结果表明,采用均质处理蛋清液并结合硅藻土过滤澄清的预处理方法,去除了蛋清中的粘蛋白等一些影响
电力系统过电压是发展高压、超高压和特高压电网所必须研究的课题。通过对RTDS避雷器等过电压研究关键仿真模型的研究。认为当前RTDS基本能够适用于针对直流双极闭锁、直流甩
河北省清河县的羊绒产业历经四十年的发展,从初级加工发展到拥有较为完善的产业链条,已经成为清河经济发展的主导产业和河北省重要的特色集群产业,目前,清河县是全国最大的羊
全面研究和设计了基于BD和QR码的AGV系统,采用了北斗导航高精度差分定位、视觉识别QR码的室内外导航平滑切换等联合导航技术,开发出具有全程无人运输、路径智能规划及避障及
针对反恐作战能力评估中模糊性和随机性并存的特点,引入云模型的概念,探索一种可行的反恐作战能力评估方法。首先在综合分析武警部队遂行反恐作战任务特点、处置原则、力量编
<正>反比例函数是初中数学的重点内容之一.随着课改的不断深入,各地中考试卷中对反比例函数的考查出现了一些以考查能力为主的新题型.
本文以经榨汁或发酵处理后的葡萄皮渣为研究对象,介绍了单细胞蛋白的应用前景及其饲用价值的优越性,探讨了葡萄皮渣的营养成分及葡萄皮渣蛋白饲料的研究进展,并展望了葡萄皮
本文介绍了生态恢复的定义以及生态系统服务功能的定义、内容、价值分类并在此基础上,介绍了目前国内外对生态系统服务功能进行价值评估的几种方法。
[目的]通过研究农村教育结构对中部地区农民收入结构的影响,为中部地区制定科学合理的农村教育发展政策提供建议。[方法]基于动态面板数据,利用Sys-GMM法克服内生性问题进行
通过对分切机主要功能参数介绍以及对放卷装置、恒张力控制、热接装置、分切机构、收卷形式、拔轴器等部件结构特点和原理的详细分析,系统而有力地论证了本公司自主研发设计