一、OOPSE——一种基于C~(++)/Java的程序分析系统(论文文献综述)
许乐平[1](2020)在《基于模糊测试的分布式系统测试方法研究》文中研究表明随着互联网的快速发展,分布式系统因在其分布性、资源共享、可扩展性等方面的明显优势,成为了当前互联网的主流架构。分布式系统的应用涉及社会的各个领域,其安全问题影响着人们的生命财产安全,及时地发现系统中的安全问题至关重要。模糊测试是目前发现系统安全问题最有效的自动化方法之一。因此,研究对分布式系统进行模糊测试发现其安全问题的方法十分重要。分布式系统的模糊测试属于网络协议测试中的一种(远程访问服务)。目前,针对网络协议的模糊测试主要有两种:客户端和服务器端测试模式以及网络中间设备模式。其中,客户端和服务端测试模式,主要是将Fuzzer(模糊测试工具)和目标系统作为测试过程的两个端点,但是当目标系统拥有复杂的调用逻辑时,无法直接将其本身当作端点测试;网络中间设备模式,主要测试路由器、安全网关等中间设备,对目标系统本身存在的安全问题考虑较少。针对现有方法的各种问题,本文考虑到分布式系统本身的复杂特性和运行环境的动态性,提出了分布式系统的模糊测试框架。本文的主要工作如下:(1)以传统系统的模糊测试框架为理论基础,提出了分布式系统的模糊测试框架。该框架主要分为系统分析阶段和模糊测试阶段。在系统分析阶段,一方面根据系统的架构和功能构造输入种子,另一方面引入驱动程序。在模糊测试阶段,利用模糊测试工具,结合驱动程序中解析的输入种子以及调用分布式系统中子系统的接口进行模糊测试,并动态监视分布式系统的异常。最后,输出异常信息。(2)对分布式系统的模糊测试框架进行设计。其中,系统分析阶段包括:设计输入种子格式文件,从而构造输入种子;设计驱动程序,使其具有解析输入种子并调用分布式系统中各子系统接口的功能。模糊测试阶段包括:在Kelinci算法的基础上,提出了DSKelinci算法,该算法结合驱动程序和输入种子,实现了对分布式系统进行插桩和模糊测试的功能。(3)对模糊测试的结果进行可视化处理。动态监视分布式系统运行中的异常状态,并捕获异常数据进行分析,从而为漏洞分析提供数据支持。(4)采用静态测试和模糊测试对比分析的方式,选用复旦大学研发的开源分布式系统Train Ticket进行实验验证,最终模糊测试成功发现23个漏洞,而静态测试只发现3个漏洞,成功验证了分布式系统的模糊测试框架的有效性和正确性。
潘秋红[2](2020)在《大规模软件系统中状态相关缺陷静态检测方法研究》文中指出代码缺陷是程序员在编程时遗留在代码中的错误实现,其能导致软件系统的行为偏离软件需求或产生非预期的错误结果。大量的软件系统失效或不能提供正常服务都归结于软件系统中存在的缺陷,及时发现并排除代码缺陷是软件质量保障的重要环节和手段。其中与软件系统中对象状态相关的缺陷十分普遍,因此一直是代码缺陷检测的关注点。静态分析和动态测试是常用的缺陷检测方法。由于静态分析方法自动化程度高、容易部署,得到学术界和工业界广泛使用。但简单的静态分析结果误报率较高,因而通常需要高精度分析算法提高准确性。现如今软件系统规模日益增大,利用静态分析方法检测状态相关的缺陷需要跟踪对象所有控制流、数据流信息,因此面临着精准度和可扩展性的巨大挑战。现在的研究工作大多仅进行了低精度的静态分析,而高精度静态分析算法通常需要大量的计算资源,难以在资源受限的环境下实现。本文针对大规模软件系统中与状态相关的缺陷的检测问题,研究提高大规模软件系统静态分析方法的精准性和可扩展性的有效方法。论文主要研究工作包括:(1)提出了高精度、高可扩展的上下文敏感以及路径敏感的静态分析方法。本方法提出基于过程间控制流执行树(ICFET)的路径约束编码/解码算法,从而极大降低了对超大规模路径约束的存储、访问等开销,实现了高效、高可扩展的分析支持。然后在此基础上,进行基于约束指导的图可达性计算。(2)提出了基于图可达计算的大规模软件系统中状态相关缺陷静态检测方法。该方法首先利用有穷状态自动机FSM对状态相关缺陷进行建模;然后基于FSM及程序控制流图生成程序状态扩展图;在此基础上,设计检测算法将缺陷检测问题转化为基于约束的图可达计算,从而利用上述高精度、高可扩展性分析方法计算可达边,然后判断每条可达边终点所在的状态是否为FSM中定义的错误状态来实现缺陷检测。(3)基于上述方法实现了一个大规模软件系统中状态相关缺陷静态工具Grapple,并进行了实验评估。在静态分析框架Soot、SMT求解器Z3和大规模系统静态分析工具Graspan的基础上,实现了原型工具Grapple。本文对四个广泛部署的大规模软件系统进行了四种状态相关缺陷的实验评估,实验结果表明Grapple可以对大规模软件系统进行高精度和可扩展的静态分析,并能够有效检测状态相关缺陷。
蒋燕[3](2020)在《人机协同Java字节码漏洞扫描系统的设计与实现》文中指出软件系统规模以及复杂性的不断增大,软件安全问题层出不穷,其产生的原因往往是程序本身在代码设计或实现过程中的错误或缺陷(称为漏洞),普通软件工程师的缺陷密度一般为50—250个缺陷/KLOC。在源码级别对程序进行漏洞扫描和安全审计,可以在源头上减少10%—50%安全漏洞的产生。但现存基于词法分析的静态漏洞扫描工具未充分考虑上下文,无法准确判别误报漏洞代码的固有特征,存在大量误报信息,开发人员需要手动筛选正报漏洞,不仅增大维护成本,甚至导致部分开发人员弃用扫描工具。为了降低目前漏洞扫描工具误报率,本文依托于公司的众包审核平台,设计并实现了一个人机协同Java字节码漏洞扫描系统。本文对静态漏洞扫描工具以及常见误报漏洞进行了分析,详细研究了字节码上下文提取、代码特征提取以及机器学习分类模型,同时融合众包专家审核,并结合实际场景中的漏洞扫描需求,实现该系统。首先,系统基于静态漏洞扫描工具对项目进行漏洞扫描,并确保其完备性。其次,基于Joana(Java Object-sensitive ANAlysis)程序切片工具对漏洞相关代码进行上下文提取,并基于N-gram语言模型对代码上下文进行特征提取。然后,利用基于完全匹配、随机森林算法的双层分类模型对扫描漏洞结果进行误报过滤。最后,将漏洞结果送予众包审核进行专家误报漏洞过滤,并将审核结果存储留作后续过滤模型的迭代训练。并根据最终漏洞结果为用户提供机器过滤以及专家审核融合的完备、低误报漏洞扫描报告。本系统主要分为交互展示模块、漏扫核心模块以及迭代学习模块,并使用Spring Boot框架、Pug模板引擎、微服务等技术与架构完成系统的实现。本文实现的人机协同Java字节码漏洞扫描系统提供低误报漏洞扫描服务。在OWASP数据集上实验表明,本系统在95.39%召回率的情况下,其精准率可以达到89.71%,与原版扫描工具相比,本系统将误报率减少近22%。本系统在确保低漏报率的基础上有效地降低传统静态漏洞扫描工具的误报率,从而节约维护成本,帮助开发者提高代码整体质量。目前,本系统已在公司平台上线,用于支撑公司静态漏洞扫描服务。
陆申明,左志强,王林章[4](2020)在《静态程序分析并行化研究进展》文中研究说明静态程序分析发展至今,已在多个方面取得了长足的进步,应用于软件开发的众多方面.但对现代大规模复杂软件系统(如千万行代码规模的Linux操作系统、分布式大数据处理系统Hadoop等)进行高精度的静态分析,因其极大规模数据量的计算,仍有一定难度.精度、效率和可扩展性相互制约,是静态分析技术在工业界应用的主要障碍.对此,近年来,随着多核、众核架构的兴起,研究人员提出了静态分析的各种并行化解决方案.首先梳理了静态分析的发展历程,然后针对当前静态分析面临的挑战,在分析了传统算法优化研究的不足后,对利用硬件资源进行并行优化的方法进行了充分讨论,包括单机的CPU并行、分布式和GPU实现这3个方面;在此基础上,对一些使用较为广泛的支持并行的静态分析工具进行了评估;最后,对未来如何从算法和算力角度对静态分析进行并行优化作了讨论和展望.
白硕栋[5](2020)在《基于表示学习的漏洞源代码语义理解研究》文中指出随着软件技术的不断发展,软件安全逐渐成为全社会广泛关注的热点问题。据NIST统计显示,软件安全问题造成的严重事件中90%都是由软件安全漏洞引起的。目前国内外在软件安全漏洞检测技术领域的研究主要集中在源代码方向。代码是面向人类的语言,机器往往难以理解,漏洞源代码本身就具有高度的抽象性和复杂性,其大部分性质是很难用简明的机器语言来定义的。良好的代码语义理解能力通常有利于提高机器学习模型的检测精度,而由于语义理解能力的不足往往会导致检测精度较低,这正是安全漏洞检测研究如今面临着的主要问题之一。因此以代码语义理解为中心展开深入研究成为了安全漏洞检测技术发展的迫切需要。本文基于表示学习方法展开漏洞语义理解技术的研究,目的是希望能为基于语义的大规模漏洞模式挖掘与漏洞检测提供可靠性支撑,提高软件安全漏洞分析检测的精度,降低漏报率和误报率。本文的研究工作主要有三点:(1)漏洞语义标注。本文针对漏洞检测技术研究领域存在的标注数据集匮乏问题,结合现有的代码标注技术与本文的具体研究情况,设计了语义标注方案并提出了三种具体的语义标注方法。文中详细介绍了标注的方法、过程和标注样例结果。最终通过分析比较选取了其中具有结构化体系、标注信息较丰富和更切合本次研究的一种标注方法进行漏洞源代码的语义标注工作。(2)深度抽象语法树表示。本文针对普通抽象语法树只能获取代码语义浅层特征的问题,结合漏洞语义标注提出了深度抽象语法树表示。抽象语法树被广泛应用于代码的分析与处理,它能够获取代码分析所需的静态结构信息、数据流信息和控制流信息。本文基于抽象语法树的特点,通过深度遍历、数字映射、填充和词嵌入等方法从普通抽象语法树中提取更深层次的特征,并详细介绍了结合漏洞语义标注共同构建漏洞语义向量样本的方法与过程。(3)基于表示学习的漏洞检测。本文根据研究内容提出结合表示学习与模式匹配思想的漏洞检测方案。主要介绍了方案的总体思想、算法与神经网络的设计与实现。首先将带有标记的样本作为神经网络的输入进行预训练得到漏洞特征,该神经网络运用了以递归神经网络为基础,善于捕获代码之间更长的依赖关系的Bi-LSTM网络。由于上下文信息对于漏洞语义至关重要,而Bi-LSTM可以帮助检测代码向前和向后的长期依赖关系,从而可以有效地捕获漏洞的特征表示;然后将无标记的样本提供给训练好的网络以学习特征表示的子集;接着在有标记的样本上执行分类器算法生成分类模型,在无标记的样本上执行该模型完成一阶段的漏洞分类预测;最后在一阶段的预测结果基础上进行模式匹配处理,得到二阶段的预测结果,完成漏洞检测。实验结果表明,与传统的代码度量方法相比,本文提出的语义标注和深度抽象语法树表示相结合的方法在漏洞检测精度方面具有更优秀的表现,充分说明了该方法能够更好地表示出漏洞源代码的特征,由此验证了该方法能够提高计算机对漏洞源代码的语义理解能力。论文最后对所研究的内容进行了总结,提出了后续研究的改进方向。
朱红磊[6](2019)在《代码疑似故障自动确认的关键技术研究》文中提出近些年来,随着计算机技术的飞速发展,人们对软件系统的需求与日俱增,且软件的规模也在不断扩大。而使用存在软件缺陷的软件不仅会增加软件维护费用,而且可能会造成灾难性的后果。软件测试作为在程序开发阶段对程序进行功能验证的过程,是保证软件质量的重要手段。如何尽可能早的发现并修复软件缺陷已成为软件开发人员、软件测试人员及软件测试研究人员共同关注的焦点。代码静态分析技术作为一种兴起的软件测试技术,无需执行程序,可以基于程序片段进行分析,是构建可信软件的有效手段。然而,根据Rice定理,代码静态分析的结果不可能既是完备的又是可靠的,进而导致其分析的结果中可能存在大量的误报。误报的确认不仅需要花费大量的时间、人力和物力,而且会导致测试人员拒绝使用静态分析工具进行软件测试。如何提高代码静态分析结果(疑似故障)的确认效率,成为了软件测试领域研究的热点之一。本文的研究工作受到国家自然科学基金项目“源代码漏洞分析、检测与验证技术研究(U1736110)”的支持,并基于静态缺陷检测工具DTS(Defect Testing System)而展开。在代码疑似故障自动确认方面,本文主要做了以下三个方面的工作:1、误报消除技术的研究。基于路径敏感和需求驱动分析,本文提出了一种新的误报消除方法。该方法首先根据疑似故障缺陷特征在局部程序中(疑似故障函数内)计算缺陷特征的关联函数,并在后向分析时仅对这些关联函数进行详细分析。这样不仅保证了程序分析的精度,进而可以识别在静态分析时使用函数摘要代替被调函数导致精度损失而产生的误报,而且相对于详细分析所有被调用函数而言,仅详细分析关联函数可以提高分析的速度。然后,采用“整体-分段-整体”策略生成从故障函数入口到疑似故障语句的路径,此策略将关联函数内的路径作为整体路径的片段,通过分析关联函数内的不可达路径,可以阻止其不可达路径到整体路径的传递,减少了整体路径的生成数量。最后,提取每条路径的约束条件,并将其与疑似故障触发条件相结合来计算该路径能否触发疑似故障,进而判断该疑似故障是否为误报。为了验证所提方法的有效性,本文在5个开源C程序上对该方法进行了实验验证。实验结果表明,本文所提出的方法能够准确地消除静态分析结果中的部分误报,且在时间开销及误报消除数量方面,均优于函数内联方法。2、函数间不可达路径检测的研究。程序中的不可达路径在软件测试时不仅会对测试用例的生成及代码覆盖率测试产生影响,也会对疑似故障自动确认的效率及准确性产生影响。本文提出了一种基于不可满足约束模型的函数间不可达路径检测方法。该方法首先通过挖掘12695条不可达路径的共同约束特征,提取得到了 9种不可满足的路径约束模型。然后,针对被测路径,对其路径约束条件进行提取、聚类和简化,进而得到简化的约束条件集合。最后,通过将简化的约束条件集合与不可满足约束模型进行匹配来检测函数间的不可达路径。本文以在开源程序中随机选择的路径为基准路径对方法的有效性进行了实验验证。实验结果表明,本文提出的方法能够准确地检测出给定路径集合中89.6%的函数间不可达路径,且与代码模式方法相比,该方法所检测出的函数间不可达路径数量较多且时间开销较小。3、疑似故障触发路径生成的研究。在代码疑似故障自动确认的过程中,生成一条可以触发疑似故障的路径不仅可以对疑似故障进行确认,而且还可以协助软件开发人员修复故障。基于对疑似故障的需求驱动分析和函数间数据流分析,本文提出了一种疑似故障触发路径的生成方法。该方法首先根据疑似故障的缺陷特征计算其影响谓词,并对影响谓词所在函数的控制流图进行简化,进而减少后向遍历生成路径的数量,减轻了路径爆炸的风险,从而减少生成触发路径的时间。然后,采用“section-whole”策略后向遍历简化的函数CFG生成疑似故障的触发路径。该策略将整个路径生成看作是路径片段的组合,在每个路径片段生成时判定其可达性,这样可以阻止函数内的不可达路径在函数间路径的传递,进而减少对路径可达性判定次数,从而提高触发路径生成的效率。本文以开源程序中的真实故障和非真实故障为基准故障对该方法进行了实验验证。实验结果表明,本文提出的方法可以为64%的真实故障生成触发路径,且与传统方法相比,该方法在触发路径生成数量及效率方面均优于传统方法。
林性伟[7](2019)在《面向Android应用的跨层代码混淆与跨层静态分析技术研究》文中提出移动应用作为移动互联网行业发展过程中的一个重要角色,被诸多的行业所采用。其中,Android应用程序极为普及,由此衍生而来的安全问题也层出不穷。比如软件漏洞、应用盗版、恶意软件等多类问题,不仅仅威胁着传统桌面设备,也同样在Android客户端出现。与此同时,Android应用保护技术以及Android软件程序分析的研究也在持续发展中。Android应用分为两层,Dalvik层(Java语言)以及Native层(C/C++语言),分别编译成dex文件以及so文件。dex文件是Dalvik字节码形式,而so文件是机器码形式。Dalvik字节码极易被反编译,并且反编译后的代码趋近于源码,程序逻辑容易被逆向恢复。so文件即机器码,逆向的格式为汇编语言,相对Dalvik字节码而言,逆向难度增加,不易被破解,从软件保护的角度而言,保护性更强。但反之而言,也容易被恶意软件开发者利用。本文基于这些特性,对Android应用的跨层特性的保护以及程序分析进行了深入的研究和讨论,设计并实现了Android应用跨层混淆框架(CRO)以及Android应用跨层静态程序分析框架(JN-SAF)。为了缓解当前Android应用的脆弱性,我们针对程序控制流这个关键点,对Android应用的程序控制流进行了混淆,基于Soot程序分析框架实现了CRO控制流混淆框架。该框架对Dalvik字节码进行了控制流混淆,并且利用Native层,将程序的关键调用隐藏到Native层中,并加入多线程的支持,以此来阻碍动静态程序分析工具以及人工逆向对程序的代码逻辑混淆。实验结果表明CRO能有效对抗Amandroid静态分析平台以及JN-SAF跨层分析框架。由于Android系统加入了Native层的支持,恶意软件开发者利用这点将恶意行为藏匿到Native层中,而当前已有的Android应用静态分析工具到无法深入到Native层进行分析,比如Amandroid、FlowDroid、IccTA等等。因此本文基于Amandroid以及angr实现了JN-SAF框架,以此来对Android应用进行跨层控制流及数据流分析。实验结果表明JN-SAF分析效率呈线性,并且能有效分析出包含Native层恶意行为的应用。
宋文灏[8](2016)在《基于信息检索的API推荐算法的设计与实现》文中研究说明如何提高软件开发的效率长久以来一直是软件工程领域的一个核心问题。近年来随着互联网行业的发展以及计算机科学技术的进步,开发任务日趋复杂,也涌现出了更多更复杂的程序库来帮助开发者简化开发过程。开发者在查找完成某个特定任务的API时,通常会借助搜索引擎或者API文档来进行搜索和查看。这种情况在开发者接触不熟悉的开发领域或者功能模块时尤为明显。然而由于传统搜索引擎的搜索结果散布在多个页面中,碎片化的信息使得找到关键信息非常耗时。直接在API文档进行搜索也十分复杂和不便。尽管工业界和学术界有不少针对API理解、代码搜索的相关工作,但是能够根据用户的功能描述向用户推荐API的工作和工具还十分有限。针对上述问题,本文提出了一种基于信息检索的API推荐算法。该算法能够根据用户输入的API功能描述,跨多个程序库向用户推荐相关的API方法。有别于关键词搜索,本文算法允许用户以自然语言输入功能的描述,在描述中用户也可混合输入相应的类型信息。上述的输入方式提高了用户的使用体验。对于用户输入,本文算法首先会通过自然语言处理技术和类型识别算法提取其中包含的的关键语义信息和类型信息。语义信息和类型信息接着会和程序库仓库中的API方法进行相关性匹配。本文算法同时结合语义相关度、类型相关度以及API方法被使用的广泛程度,对这些API方法进行排序,将相关度高、使用广泛的API方法排在靠前的位置,使得用户能够快速获取需要的信息。最后,算法以列表的形式向用户展示与描述相关的API方法。算法在展示结果时,会为API配以真实项目中的使用代码示例,以帮助使用者进行学习和理解。本文在该算法的基础上,针对Java编程语言实现了一个API方法推荐工具APIBook。APIBook选取了Java标准库以及100个流行的开源程序库作为API推荐的素材。用户能够通过APIBook的Web界面进行输入,并在界面上查看搜索结果和示例代码。为了验证本文算法和工具的有效性,本文从StackOverflow编程论坛的Java板块上选取了最热门的70个与API选择相关的问题,然后以它们的标题作为API功能描述在APIBook上进行API推荐查询,并比较了APIBook和传统的检索模型在API搜索推荐上的有效性和运行效率。实验表明APIBook的算法比传统的检索模型更加有效。而它平均0.7秒的查询耗时也可以满足日常的查询需求。
叶家彬[9](2016)在《JavaScript动态切片技术的设计与实现》文中研究说明JavaScript是目前最流行的编程语言之一。由于JavaScript具有高度动态的特性,它非常便于用来快速开发客户端的网络应用程序,也正因为这一点使得JavaScript的代码变得难以维护。运行在浏览器中的JavaScript程序还会和HTML代码、DOM等浏览器提供的接口交互,这样更加重了程序员在调试及维护JavaScript应用程序的难度。本文提出了一种针对JavaScript应用程序的动态切片技术,来帮助程序员调试JavaScript应用程序。该技术基于JavaScript系统依赖图的构建,将JavaScript程序切片的问题转换为依赖图的可达性问题。该技术提出的JavaScript系统依赖图包括了以下三种依赖关系:数据依赖、控制依赖以及DOM依赖。其中数据依赖和控制依赖是传统程序依赖分析中常见的两种依赖关系,本论文对这两种依赖的分析在JavaScript语言层面上进行了优化,使用动态分析策略来计算程序中的数据依赖关系,结合静态和动态两种分析策略来得到控制依赖的结果。在JavaScript应用程序的运行过程中,浏览器的DOM会和JavaScript对象交互并由此产生依赖关系。基于此,本文提出了一种新的依赖关系:DOM依赖,并设计了DOM依赖的分析算法。最后综合这三种依赖关系可以构建出一个完整的JavaScript系统依赖图,用户通过指定某一语句对应的节点就可以进行程序切片工作。基于以上提出的动态切片技术,本文作者实现了一个JavaScript动态切片工具,它可以对实际的JavaScript应用程序进行动态切片。本论文对六个JavaScript程序进行了测试,其中三个是实际的JavaScript应用程序,另外三个是常用的JavaScript库。实验结果表明,动态切片器可以高效地对JavaScript应用程序进行动态切片,其切片结果占原程序的比重基本小于5%。
万志远[10](2014)在《Web应用程序漏洞检测关键技术研究》文中认为随着互联网的普及和Web开发技术的兴起与发展,Web应用程序已成为最重要的互联网应用之一,在各领域承载了举足轻重的作用。Web应用程序的安全问题得到了研究界及工业界的广泛关注。Web应用程序的安全漏洞是攻防双方最为重要的战场,如何有效识别Web应用程序中的安全漏洞,即漏洞检测,是Web安全领域的核心问题。根据是否运行被检测的程序,可将漏洞检测技术分为静态漏洞检测技术和动态漏洞检测技术。静态漏洞检测技术及动态漏洞检测技术均面临诸多挑战。静态漏洞检测技术通常误报率高,提高静态漏洞检测精确度的同时,保证方法的性能,是静态漏洞检测面临的关键挑战之一。静态漏洞检测通常运用程序分析技术,发现Web应用程序的安全问题。然而,由于Web应用程序所具有的特性,使得传统的程序分析技术无法直接被使用进行静态漏洞检测。基于模糊测试的动态漏洞检测技术具有误报率低的优势。但是,由于输入向量的随机性,模糊测试的代码覆盖率低,难以发现程序中深藏的漏洞。基于混合执行的测试输入生成方法能够提高模糊测试的代码覆盖率。然而,现代Web应用程序逻辑复杂、规模庞大,混合执行在遍历可达执行路径时,面临路径爆炸问题。本文围绕Web应用程序静态漏洞检测与动态漏洞检测面临的问题与挑战,结合Web应用程序的特性,重点研究了Web应用程序局部调用图生成、输入验证漏洞检测及混合执行中的路径搜索等关键技术。本文主要贡献如下:1.为支持静态漏洞检测中的过程间分析,针对全程序分析效率低和Web应用程序库代码缺失的问题,本文提出了一种Web应用程序局部调用图生成方法。该方法的分析对象为Web应用程序的应用部分代码、应用部分所引用的库部分代码中方法的签名、类的域和类层次结构。首先,使用混合堆模型对程序中的内存位置进行抽象,区分应用部分及库部分的抽象内存位置。然后,利用规则对与指针相关的应用部分和库部分交互行为进行建模,推断库部分代码的指针信息。最后,为库部分维护指针指向集合,利用该集合解析库回调边,并限制回流进入应用部分指针指向集合的抽象对象。实验结果表明,该方法的运行时间分别比werroes和Spark快4.9倍和13.7倍,同时能在一定程度上保证局部调用图的完整性和精确性。2.针对静态漏洞检测误报率高的问题,本文提出了一种基于静态信息流跟踪技术的输入验证漏洞检测方法。首先,集成指针分析,识别程序中堆内数据的依赖关系以及变量之间的别名关系。然后,通过过程内数据流分析计算程序中方法的数据依赖关系摘要,提高过程间分析的效率。最后,提出双向数据流分析技术来静态跟踪信息流,缩短污点数据传播路径长度。本文在开源静态代码分析工具FindBugs上实现该方法,并在基准程序SecuriBench上对该方法进行验证。实验结果表明,该方法在不明显降低静态漏洞检测方法性能的前提下,提高了输入验证漏洞的检测精确度。3.针对混合执行的路径爆炸问题,本文提出了一种混合执行中的路径搜索策略。该搜索策略对被测试程序各个分支的代码覆盖率进行实时估算,并选择覆盖率最低的分支继续探索执行。实验结果表明,该路径搜索策略能够有效缓解混合执行的路径爆炸问题,为提高基于模糊测试的动态漏洞检测技术的代码覆盖率提供支持。
二、OOPSE——一种基于C~(++)/Java的程序分析系统(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、OOPSE——一种基于C~(++)/Java的程序分析系统(论文提纲范文)
(1)基于模糊测试的分布式系统测试方法研究(论文提纲范文)
致谢 |
摘要 |
ABSTRACT |
1 引言 |
1.1 研究背景及意义 |
1.2 国内外研究现状 |
1.2.1 模糊测试技术研究现状 |
1.2.2 分布式系统的研究现状 |
1.3 主要研究内容 |
1.4 论文组织结构 |
2 分布式系统的模糊测试研究基础 |
2.1 分布式系统的相关介绍 |
2.1.1 分布式系统架构 |
2.1.2 分布式系统安全问题 |
2.1.3 传统测试方法对于分布式系统不足 |
2.2 漏洞挖掘技术 |
2.2.1 常见漏洞类型 |
2.2.2 漏洞挖掘方法 |
2.3 模糊测试技术 |
2.3.1 模糊测试流程 |
2.3.2 模糊测试架构 |
2.3.3 模糊测试用例生成方法 |
2.3.4 模糊测试技术优缺点 |
2.4 本章小结 |
3 分布式系统的模糊测试研究 |
3.1 分布式系统的模糊测试 |
3.2 模糊测试框架 |
3.2.1 传统系统的模糊测试框架 |
3.2.2 分布式系统的模糊测试框架 |
3.3 存在的问题 |
3.4 本章小结 |
4 分布式系统的模糊测试设计 |
4.1 模糊测试方案设计 |
4.1.1 测试目标的确定 |
4.1.2 系统实施方案 |
4.2 模糊测试框架设计 |
4.2.1 目标系统-Train Ticket |
4.2.2 构造输入种子 |
4.2.3 驱动程序 |
4.2.4 模糊测试工具DSKelinci |
4.3 本章小结 |
5 模糊测试框架测试及验证 |
5.1 实验配置 |
5.2 实验测试 |
5.2.1 模糊测试 |
5.2.2 静态测试 |
5.3 实验结果分析及对比 |
5.3.1 实验结果分析 |
5.3.2 总结对比 |
5.4 本章小结 |
6 总结与展望 |
6.1 工作总结 |
6.2 研究展望 |
参考文献 |
作者简历及攻读硕士学位期间取得的研究成果 |
学位论文数据集 |
(2)大规模软件系统中状态相关缺陷静态检测方法研究(论文提纲范文)
中文摘要 |
英文摘要 |
第一章 绪论 |
1.1 研究背景 |
1.2 研究目的与意义 |
1.2.1 现有解决方法 |
1.2.2 现有问题与不足 |
1.3 本文的研究内容和主要贡献点 |
1.4 本文的组织结构 |
第二章 相关背景知识 |
2.1 CFL可达性静态分析技术 |
2.2 基于CFL可达性的上下文敏感分析 |
2.3 基于CFL可达性的路径敏感分析 |
2.4 状态相关缺陷 |
2.5 相关工具介绍 |
2.5.1 Soot |
2.5.2 Z3 |
2.5.3 Graspan |
2.6 小结 |
第三章 高可扩展的路径敏感的静态分析方法 |
3.1 方法概述 |
3.2 路径约束表示方法 |
3.2.1 约束导向的CFL可达性 |
3.2.2 过程内的路径约束表示方法 |
3.2.3 过程间的路径约束表示方法 |
3.2.4 ICFET构造方法 |
3.3 基于约束的图可达性计算方法 |
3.4 小结 |
第四章 基于图可达计算的大规模软件系统中状态相关缺陷静态检测方法 |
4.1 方法概述 |
4.2 程序状态扩展图生成方法 |
4.2.1 过程内程序状态扩展图生成方法 |
4.2.2 过程间程序状态扩展图生成方法 |
4.3 可达边状态检测方法 |
4.4 小结 |
第五章 工具设计与实现 |
5.1 工具架构 |
5.2 模块设计 |
5.2.1 ICFET构造 |
5.2.2 程序图生成 |
5.2.3 基于约束的图可达性计算 |
5.2.4 可达边状态检测 |
5.3 工具使用方式 |
5.4 小结 |
第六章 实验评估与分析 |
6.1 实验环境配置 |
6.2 实验设计 |
6.3 实验目标选取 |
6.4 缺陷检测结果与分析 |
6.5 实验性能评估与分析 |
6.6 与其他方法的对比 |
6.6.1 传统的实现方法 |
6.6.2 基于字符串的约束表示 |
6.7 小结 |
第七章 总结与展望 |
7.1 本文主要工作 |
7.2 未来展望 |
参考文献 |
致谢 |
简历与科研成果 |
(3)人机协同Java字节码漏洞扫描系统的设计与实现(论文提纲范文)
摘要 |
Abstract |
第一章 引言 |
1.1 研究背景与意义 |
1.2 研究现状 |
1.2.1 漏洞扫描现状 |
1.2.2 误报过滤现状 |
1.2.3 众包技术现状 |
1.3 本文主要研究工作 |
1.4 本文组织结构 |
第二章 相关技术综述 |
2.1 常见漏洞类型 |
2.1.1 SQL注入 |
2.1.2 路径遍历 |
2.1.3 弱加密 |
2.2 漏洞扫描相关工具 |
2.2.1 Spot Bugs工具 |
2.2.2 Find-sec-bugs工具 |
2.2.3 程序切片技术 |
2.3 语言模型与分类算法 |
2.3.1 N-gram模型 |
2.3.2 Random Forest算法 |
2.4 系统核心技术栈 |
2.4.1 Docker容器技术 |
2.4.2 微服务 |
2.4.3 Pug模板引擎 |
2.5 本章小结 |
第三章 系统需求分析与概要设计 |
3.1 系统整体概述 |
3.2 系统需求分析 |
3.2.1 漏洞类型分析 |
3.2.2 功能性需求 |
3.2.3 非功能性需求 |
3.2.4 用例分析 |
3.3 系统总体设计 |
3.3.1 系统架构 |
3.3.2 4+1视图 |
3.3.3 持久化对象设计 |
3.4 系统各模块设计 |
3.4.1 交互展示模块设计 |
3.4.2 漏扫核心模块设计 |
3.4.3 迭代学习模块设计 |
3.5 本章小结 |
第四章 详细设计与实现 |
4.1 交互展示模块 |
4.1.1 任务管理与分发的实现 |
4.1.2 报告前端渲染实现 |
4.2 漏扫核心模块 |
4.2.1 漏洞扫描工具集成 |
4.2.2 上下文提取实现 |
4.2.3 误报过滤实现 |
4.2.4 转众包审核实现 |
4.3 迭代学习模块 |
4.3.1 数据集与数据预处理 |
4.3.2 分类模型训练的实现 |
4.3.3 模型相关参数评估 |
4.4 页面展示 |
4.5 本章小结 |
第五章 系统测试与实验分析 |
5.1 测试环境 |
5.2 功能与性能测试 |
5.2.1 功能测试 |
5.2.2 性能测试 |
5.2.3 健壮性测试 |
5.3 实验分析 |
5.3.1 数据集 |
5.3.2 实验流程 |
5.3.3 评估指标 |
5.3.4 结果分析 |
5.4 案例分析 |
5.5 本章小结 |
第六章 总结与展望 |
6.1 总结 |
6.2 展望 |
参考文献 |
简历与科研成果 |
致谢 |
(4)静态程序分析并行化研究进展(论文提纲范文)
1 静态程序分析简介 |
2 当前静态分析面临的挑战和解决方案 |
3 传统静态分析算法优化研究及其不足 |
4 静态分析并行化研究 |
5 并行静态分析工具 |
6 未来可以开展的研究 |
7 总结 |
(5)基于表示学习的漏洞源代码语义理解研究(论文提纲范文)
摘要 |
abstract |
1 绪论 |
1.1 课题研究的背景及意义 |
1.2 国内外研究现状 |
1.3 本文研究的主要内容 |
1.4 论文章节安排 |
2 相关理论与技术 |
2.1 程序分析 |
2.1.1 词法与语法分析 |
2.1.2 结构与类型分析 |
2.1.3 流分析 |
2.1.4 抽象语法树分析 |
2.2 语义标注 |
2.2.1 语义标注方法简介 |
2.2.2 语义标注方法特点 |
2.2.3 语义标注粒度 |
2.3 表示学习方法 |
2.3.1 表示学习方法简介 |
2.3.2 表示学习方法特点 |
2.3.3 表示学习方法应用 |
2.4 本章小结 |
3 漏洞源代码语义标注 |
3.1 语义标注总体方案 |
3.1.1 语义标注的目的与意义 |
3.1.2 总体方案设计 |
3.2 源代码预处理 |
3.3 语义标注方法 |
3.3.1 标注方法Ⅰ |
3.3.2 标注方法Ⅱ |
3.3.3 标注方法Ⅲ |
3.4 语义标注方法选择及结果展示 |
3.5 本章小结 |
4 基于抽象语法树的代码深度表示 |
4.1 构建抽象语法树 |
4.2 漏洞语义向量表示 |
4.2.1 语义向量表示总体方案 |
4.2.2 代码语义向量表示 |
4.2.3 漏洞标注向量表示 |
4.3 深度AST表示 |
4.3.1 数字映射与填充 |
4.3.2 词嵌入获取代码深层表示 |
4.4 本章小结 |
5 基于表示学习的漏洞检测 |
5.1 漏洞检测总体方案 |
5.2 算法设计 |
5.2.1 算法基本思想 |
5.2.2 算法分析 |
5.3 神经网络模型设计 |
5.3.1 网络选择 |
5.3.2 网络架构设计 |
5.4 本章小结 |
6 基于深度学习的漏洞语义理解仿真实验 |
6.1 实验环境搭建 |
6.1.1 数据集 |
6.1.2 环境与参数 |
6.1.3 实验算法评估 |
6.2 实验分析与总结 |
6.2.1 实验分析 |
6.2.2 实验结论 |
6.3 本章小结 |
7 结论 |
7.1 结论 |
7.2 展望 |
参考文献 |
致谢 |
(6)代码疑似故障自动确认的关键技术研究(论文提纲范文)
摘要 |
ABSTRACT |
主要缩略语及中英文对照 |
第一章 绪论 |
1.1 研究背景 |
1.2 研究目的和意义 |
1.3 研究内容与主要贡献 |
1.4 本文的组织结构 |
本章参考文献 |
第二章 代码疑似故障自动确认相关背景知识 |
2.1 软件缺陷与缺陷模式 |
2.1.1 软件缺陷概述 |
2.1.2 软件缺陷模式 |
2.2 相关技术介绍 |
2.2.1 静态分析技术 |
2.2.2 区间运算技术 |
2.2.3 敏感路径分析技术 |
2.2.4 函数间分析技术 |
2.3 静态缺陷检测工具 |
2.4 代码疑似故障自动确认的基础架构 |
本章参考文献 |
第三章 误报消除方法的研究 |
3.1 引言 |
3.2 研究动机 |
3.3 相关研究 |
3.4 基于局部程序路径分析的误报消除 |
3.4.1 基本术语 |
3.4.2 基本思想 |
3.4.3 关联函数分析 |
3.4.4 路径分析 |
3.5 实例分析与实验验证 |
3.5.1 实例分析 |
3.5.2 实验验证 |
3.6 本章小结 |
本章参考文献 |
第四章 函数间不可达路径检测方法的研究 |
4.1 引言 |
4.2 研究动机 |
4.3 相关研究 |
4.3.1 静态检测方法 |
4.3.2 动态检测方法 |
4.4 基于不可满足路径约束模型的不可达路径检测 |
4.4.1 基本概念 |
4.4.2 基本思想 |
4.4.3 不可满足路径约束模型 |
4.4.4 路径约束提取、聚类和简化 |
4.4.5 不可达路径检测算法 |
4.5 实验及分析 |
4.5.1 实验设计 |
4.5.2 实验度量 |
4.5.3 实验结果 |
4.5.4 实验结果分析 |
4.5.5 效度分析 |
4.6 本章小结 |
本章参考文献 |
第五章 疑似故障触发路径生成方法的研究 |
5.1 引言 |
5.2 研究动机 |
5.3 相关研究 |
5.4 基于缺陷特征的触发路径生成 |
5.4.1 基本概念 |
5.4.2 基本思想 |
5.4.3 影响谓词计算 |
5.4.4 控制流图简化 |
5.4.5 触发路径生成 |
5.5 实验及分析 |
5.5.1 实验设计 |
5.5.2 实验度量 |
5.5.3 实验结果 |
5.5.4 实验结果分析 |
5.6 本章小结 |
本章参考文献 |
第六章 总结与展望 |
6.1 全文总结 |
6.2 未来研究展望 |
致谢 |
攻读学位期间发表的学术论文目录 |
(7)面向Android应用的跨层代码混淆与跨层静态分析技术研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究工作的背景与意义 |
1.2 国内外研究历史与现状 |
1.2.1 Android应用混淆 |
1.2.2 Android应用程序分析 |
1.3 本文的主要贡献与创新 |
1.4 论文章节结构安排 |
第二章 Android应用攻防技术背景 |
2.1 Android系统介绍 |
2.1.1 Android体系结构 |
2.1.2 Android Runtime |
2.2 APK文件结构 |
2.3 Android Native Code |
2.3.1 Android Native Code使用方式 |
2.3.2 Native Development Kit(NDK) |
2.3.3 Java Native Interface(JNI) |
2.4 Android应用动静态程序分析 |
2.4.1 静态分析 |
2.4.2 动态分析 |
2.5 本章小结 |
第三章 CRO框架设计与实现 |
3.1 框架整体设计 |
3.2 示例程序 |
3.3 CRO框架算法以及具体实现 |
3.3.1 框架概览 |
3.3.2 函数体移动 |
3.3.3 加密与解密 |
3.3.4 参数封装 |
3.3.5 敏感API隐藏 |
3.3.6 多线程支持 |
3.4 CRO框架工程实现 |
3.4.1 Soot框架介绍 |
3.4.2 整体工程实现流程 |
3.4.3 重打包流程 |
3.5 本章小结 |
第四章 JN-SAF框架设计与实现 |
4.1 示例程序 |
4.2 JN-SAF框架实现中的挑战以及解决方案 |
4.2.1 挑战 1:跨语言分析挑战 |
4.2.2 挑战 2:解析Native方法调用 |
4.2.3 挑战 3:利用现有的二进制分析平台进行数据流分析 |
4.2.4 挑战 4:Native Activity解析 |
4.3 JN-SAF框架 |
4.3.1 APK预处理 |
4.3.2 环境模型 |
4.3.3 基于摘要的自下而上数据流分析算法(SBDA) |
4.4 本章小结 |
第五章 系统实验结果与分析 |
5.1 CRO框架实验结果与分析 |
5.1.1 实验设置 |
5.1.2 实验结果与分析 |
5.2 JN-SAF框架实验与分析 |
5.2.1 实验设置 |
5.2.2 实验结果与分析 |
5.3 本章小结 |
第六章 全文总结与展望 |
6.1 全文总结 |
6.2 后续工作展望 |
致谢 |
参考文献 |
攻读硕士学位期间取得的成果 |
(8)基于信息检索的API推荐算法的设计与实现(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景及研究意义 |
1.2 研究目标与研究内容 |
1.3 章节安排 |
第二章 国内外研究现状分析与相关技术概述 |
2.1 国内外研究现状 |
2.1.1 基于语义相关度的搜索和推荐方法 |
2.1.2 基于非语义信息的搜索和推荐方法 |
2.1.3 已有工作的不足 |
2.1.4 其它相关工作 |
2.2 程序分析技术 |
2.2.1 抽象语法树 |
2.2.2 字节码 |
2.3 自然语言处理技术 |
2.3.1 词性标注 |
2.3.2 词干提取 |
2.4 信息检索技术 |
2.4.1 倒排索引 |
2.4.2 信息检索模型 |
2.5 本章小节 |
第三章 总体设计框架 |
3.1 API推荐面临的挑战 |
3.2 用户信息需求分析 |
3.3 总体设计 |
3.4 总体框架 |
3.5 本章小结 |
第四章 API推荐算法 |
4.1 API描述分析 |
4.1.1 语义信息 |
4.1.2 类型信息 |
4.2 搜索排序算法 |
4.2.1 语义匹配 |
4.2.2 类型匹配 |
4.2.3 使用评分 |
4.2.4 综合评分 |
4.3 API代码示例 |
4.4 本章小节 |
第五章 程序库仓库的获取与数据库、索引的构建 |
5.1 程序库仓库的构建 |
5.1.1 程序库仓库素材的选择 |
5.1.2 程序库仓库的获取 |
5.2 数据库构建 |
5.3 索引构建 |
5.3.1 语义索引 |
5.3.2 类型索引 |
5.4 本章小节 |
第六章 实验与评估 |
6.1 研究问题 |
6.2 实验评价指标 |
6.3 实验环境 |
6.4 实验结果 |
6.5 本章小节 |
第七章 总结与展望 |
7.1 主要工作总结 |
7.2 后续研究工作 |
参考文献 |
致谢 |
攻读学位期间发表的学术论文 |
(9)JavaScript动态切片技术的设计与实现(论文提纲范文)
摘要 |
abstract |
第一章 绪论 |
1.1 研究背景 |
1.1.1 Java Script应用程序 |
1.1.2 程序切片技术 |
1.2 研究的内容及意义 |
1.3 本文的主要贡献 |
1.4 本文的组织结构 |
第二章 相关工作 |
2.1 程序切片技术 |
2.1.1 切片技术简介 |
2.1.2 网络应用程序切片的研究 |
2.2 Java Script测试技术 |
2.3 Java Script程序分析技术 |
2.3.1 Java Script程序静态分析技术 |
2.3.2 Java Script程序动态分析技术 |
2.4 本章小结 |
第三章 示例分析 |
第四章 Java Script系统依赖图的构建 |
4.1 Jalangi动态分析框架 |
4.2 数据依赖 |
4.2.1 数据依赖简介 |
4.2.2 对象表达式的转换 |
4.2.3 影子对象的设计 |
4.2.4 影子执行规则 |
4.3 控制依赖 |
4.3.1 控制依赖简介 |
4.3.2 过程内的控制依赖分析 |
4.3.3 过程间的控制依赖分析 |
4.3.4 控制依赖算法的限制 |
4.4 DOM依赖 |
4.4.1 DOM依赖简介 |
4.4.2 DOM依赖分析 |
4.4.3 DOM依赖的限制 |
4.5 本章小结 |
第五章 对Java Script应用程序进行动态切片 |
第六章 Java Script切片器的实现 |
6.1 切片器的模块简介 |
6.1.1 代码插装模块 |
6.1.2 动态执行模块 |
6.1.3 程序切片模块 |
6.2 模块间的交互 |
6.3 本章小结 |
第七章 实验与评估 |
7.1 实验设计及环境简介 |
7.1.1 实验设计 |
7.1.2 实验环境 |
7.1.3 实验对象 |
7.2 程序切片的结果 |
7.2.1 实验简介 |
7.2.2 依赖数量 |
7.2.3 切片的大小 |
7.3 程序切片的效率 |
7.3.1 实验简介 |
7.3.2 代码插装的效率 |
7.3.3 动态执行的效率 |
7.3.4 依赖图的构建效率 |
7.4 本章小结 |
第八章 全文总结及未来展望 |
8.1 全文总结 |
8.2 未来的展望 |
参考文献 |
致谢 |
攻读学位期间发表的学术论文 |
(10)Web应用程序漏洞检测关键技术研究(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 研究背景 |
1.2 研究动机与意义 |
1.3 本文创新点 |
1.4 论文结构 |
第2章 研究基础与现状 |
2.1 Web应用程序 |
2.2 Web应用程序安全 |
2.3 Web应用程序漏洞 |
2.4 漏洞检测技术分类 |
2.4.1 静态漏洞检测技术 |
2.4.2 动态漏洞检测技术 |
2.4.3 混合漏洞检测技术 |
第3章 Web应用程序局部调用图生成方法 |
3.1 引言 |
3.2 研究背景 |
3.2.1 调用图生成技术 |
3.2.2 局部调用图生成技术 |
3.3 指针分析方法 |
3.3.1 方法特点 |
3.3.2 集合及概念 |
3.3.3 程序表示 |
3.3.4 库模型 |
3.3.5 虚函数调用的处理 |
3.4 调用图生成算法 |
3.4.1 概述 |
3.4.2 顶层算法 |
3.4.3 处理新发现的可达方法 |
3.4.4 添加调用边 |
3.4.5 传播指针指向集合 |
3.5 实验 |
3.5.1 实验准备 |
3.5.2 方法实现 |
3.5.3 性能 |
3.5.4 调用图完整性 |
3.5.5 调用图精确性 |
3.6 相关工作 |
3.6.1 全程序分析调用图生成方法 |
3.6.2 局部调用图生成方法 |
3.7 本章小结 |
第4章 基于静态信息流跟踪技术的输入验证漏洞检测方法 |
4.1 引言 |
4.2 研究背景 |
4.2.1 静态信息流跟踪技术 |
4.2.2 输入验证漏洞 |
4.2.3 数据流分析框架 |
4.3 漏洞检测方法的设计 |
4.3.1 指针分析 |
4.3.2 过程内数据依赖分析 |
4.3.3 过程间数据流分析 |
4.4 实验 |
4.4.1 实验设置 |
4.4.2 精确度评估 |
4.4.3 性能评估 |
4.5 相关工作 |
4.6 本章小结 |
第5章 混合执行中的路径搜索策略 |
5.1 引言 |
5.2 研究背景 |
5.2.1 程序表示 |
5.2.2 符号执行 |
5.2.3 混合执行 |
5.2.4 混合执行中的路径搜索策略 |
5.3 路径搜索策略 |
5.3.1 概述 |
5.3.2 覆盖率函数 |
5.3.3 具体执行路径的覆盖率值 |
5.4 实验验证和讨论 |
5.4.1 实现 |
5.4.2 实验准备 |
5.4.3 结果 |
5.5 相关工作 |
5.6 本章小结 |
第6章 总结与展望 |
6.1 本文工作总结 |
6.2 未来工作展望 |
参考文献 |
攻读博士学位期间主要科研成果 |
致谢 |
作者简历 |
四、OOPSE——一种基于C~(++)/Java的程序分析系统(论文参考文献)
- [1]基于模糊测试的分布式系统测试方法研究[D]. 许乐平. 北京交通大学, 2020(02)
- [2]大规模软件系统中状态相关缺陷静态检测方法研究[D]. 潘秋红. 南京大学, 2020(02)
- [3]人机协同Java字节码漏洞扫描系统的设计与实现[D]. 蒋燕. 南京大学, 2020(04)
- [4]静态程序分析并行化研究进展[J]. 陆申明,左志强,王林章. 软件学报, 2020(05)
- [5]基于表示学习的漏洞源代码语义理解研究[D]. 白硕栋. 西安工业大学, 2020(04)
- [6]代码疑似故障自动确认的关键技术研究[D]. 朱红磊. 北京邮电大学, 2019(01)
- [7]面向Android应用的跨层代码混淆与跨层静态分析技术研究[D]. 林性伟. 电子科技大学, 2019(12)
- [8]基于信息检索的API推荐算法的设计与实现[D]. 宋文灏. 上海交通大学, 2016(01)
- [9]JavaScript动态切片技术的设计与实现[D]. 叶家彬. 上海交通大学, 2016(01)
- [10]Web应用程序漏洞检测关键技术研究[D]. 万志远. 浙江大学, 2014(03)