【摘 要】
:
作为一种动态的程序分析技术,动态符号执行凭借高代码覆盖率、自动化计算输入值、分析结果准确等优点,已被广泛应用于软件测试和验证领域。路径搜索是动态符号执行过程中的核
论文部分内容阅读
作为一种动态的程序分析技术,动态符号执行凭借高代码覆盖率、自动化计算输入值、分析结果准确等优点,已被广泛应用于软件测试和验证领域。路径搜索是动态符号执行过程中的核心操作,是影响程序动态符号执行效率和代码覆盖率的关键因素。传统的路径深度优先搜索是一种常用的路径搜索策略,但该策略存在一些不足之处:(1)路径空间爆炸问题;(2)可能存在“饥饿路径”;(3)程序检测的代码覆盖率增速缓慢;(4)运行时占用大量存储空间。为了解决传统路径搜索中存在的问题,本文对现有的动态符号执行路径搜索方法进行研究,给出了一种基于控制流图(Control Flow Graph,CFG),结合分支覆盖优先搜索、条件语句优先的随机搜索和路径深度优先搜索的动态符号执行路径搜索策略。本文主要贡献包括以下三点。1.研究了符号执行和动态符号执行的基本理论,以及现有的动态符号执行主流路径搜索方法,提出一种新的动态符号执行路径搜索策略,从四个方面解决传统路径搜索中存在的问题。(1)构造与待检测程序源码的底层虚拟机中间表示(LLVM Intermediate Representation,LLVM-IR)相对应的CFG,以CFG代替符号执行树指导路径搜索,缓解复杂程序中因循环结构和函数递归调用造成的路径空间爆炸问题。(2)综合分支覆盖优先、条件语句优先和路径深度优先的路径搜索方式,设置符号值求解范围,避免程序执行陷入“路径饥饿”状态。(3)在保证动态符号执行高路径覆盖率的前提下,以最少的程序执行次数,获得最大的行覆盖率和分支覆盖率,加快代码覆盖率提升速度。(4)仅存储程序下次执行的输入值及相关信息,相较于存储完整的路径约束,所需存储空间大幅减少。2.设计实现路径搜索模块,并集成LLVM-IR插桩模块,开发了相应的动态符号执行工具,用于对建模、仿真和验证语言(Modeling,Simulation and Verification Language,MSVL)编译器生成的LLVM-IR程序进行动态符号执行,为MSVL程序的验证工作提供执行路径。3.通过分析简单程序实例的执行结果,说明路径搜索模块工作流程的正确性。针对实际问题对应的程序实例,分别采用本文提出的策略与传统路径搜索策略进行动态符号执行,通过比较实验结果,表明本文提出的路径搜索策略在行覆盖率和分支覆盖率的增速上有促进作用。
其他文献
随着人类对于基因深入、细致的了解,基因治疗也成为了疾病治疗的新策略,例如对缺氧耐受性和易感性的研究用于治疗因缺氧为主要诱因的疾病。并且随着基因芯片技术的广泛应用,
分子识别作为超分子化学的核心内容之一,已经被广泛应用于生命科学、食品安全、信息传递和环境监测等领域。在目前分子识别的许多方法当中,荧光探针检测由于具备操作简便、成
为满足不断提升的市场需求,3GPP等国际标准化组织积极推动着无线通信系统标准化进程。异构部署是3GPPLTE(Long Term Evolution)及LTE-A(LTE-Advanced)标准化的重要研究内容之
研究目的是希望帮助马来西亚中医界了解温病方药在马来西亚的运用现状,分析温病方在马来西亚的运用规律及其治疗的病证。同时也希望通过这次的论文更加了解中医学在马来西亚的历史进程和当前马来西亚中医临床现状以及温病方在马来西亚的运用文献理论研究。目前,马来西亚中医温病方使用现状的调研属于空白区,之前尚未有人进行过,故本研究具有一定开拓性。本文分为两个部分,第一部分为概述。通过这个部分阐述了中医学如何传入马来
3GPP在其发布的版本12中提出小小区的网络架构,以应对未来无线流量的爆炸性增长。小小区是一种低能耗、低费用的小型基站,主要应用场景是室内和室外的热点地区。由于部署简单
多糖水凝胶由于生物相容性优良而被广泛应用于药物传递系统。但是水凝胶载体在体内循环时也会遭受蛋白吸附污染和非特异性免疫排斥。因此,需要融合两性离子聚合物的抗蛋白特性,开发一种无污染的两性离子多糖水凝胶。已有研究证实两性磺基甜菜碱(SB)和羧基甜菜碱(CB)具有显著的防污性能。然而,很少有研究关注SB和CB材料之间的差异,尤其是两性多糖。本文中,我们设计了两种两性离子葡聚糖水凝胶:磺基甜菜碱葡聚糖(S
近年来随着数字多媒体技术和网络通讯技术的迅猛发展,数字图像已经成为人类传递信息的主要载体之一,与此同时,图像在教育技术领域的重要性也日渐突出。随着数字图像信息数据
本文运用制度变迁理论、农户经济行为理论、交易成本理论等理论构建本研究的理论基础;然后对调研所获得的260份农户数据进行描述统计分析的基础之上,构建了二元Logistic模型
【目的】核糖核酸(RNA)N6-甲基腺苷(N6-methyladenosine,m6A)修饰是一种动态可逆的过程,由甲基转移酶样蛋白3(methyltransferase like protein 3,METTL3),甲基转移酶样蛋白14(methyltransferase like protein 14,METTL14)和肾母细胞瘤1相关蛋白(Wilm’s tumor 1-associated