导读:本文包含了控制流分析论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:数据流,静态,测试,动态,可编程,污点,源代码。
控制流分析论文文献综述
张晔,陆余良[1](2017)在《PLC程序控制流分析方法》一文中研究指出可编程逻辑控制器(PLC)是工业控制系统的重要组成部分,控制着各类物理设备及工艺流程。无论是攻击者的恶意篡改还是内部人员的编程错误所造成的PLC控制程序错误都将严重威胁设备及人身安全。为解决该问题,提出了针对PLC程序的控制流分析方法。首先,利用flex和bison分析了源代码的词法及语法结构;其次,通过分析抽象语法树(AST)生成并优化了不含指令副作用的中间表示;最后,在中间表示的基础上划分基本块,并以此为基本单元构建了程序的控制流图。实验结果表明,所提方法能够恢复语句表形式PLC程序的控制流结构,为程序理解和安全性分析提供了基础。(本文来源于《计算机应用》期刊2017年12期)
杨贞祥,赵兴奋,贺虎林[2](2016)在《基于控制流和数据流分析的软件回归测试设计》一文中研究指出对软件进行回归测试的目的,一方面为确保软件修改后能达到预期目标,另一方面需要确认软件的修改没有影响软件其余部分正常运行。回归测试过程中,需要根据更改影响域进行测试设计,故更改影响域的确定成为回归测试成败的关键。本文提出一种基于控制流和数据流的更改影响域分析方法,对修改后的软件根据被修改部分所处的控制流和数据流范围确定更改影响域,再根据更改影响域设计测试用例。该方法提高了回归测试用例范围的准确性,同时确保了回归测试覆盖率,提高了软件回归测试质量。(本文来源于《电子科学技术》期刊2016年06期)
皮筛成,游辉敏[3](2016)在《基于控制流分析的软件源代码静态测试技术的研究》一文中研究指出本文介绍了基于控制流分析的软件源代码静态测试技术,并实现跨语言支持的静态测试引擎。通过推断源代码中变量间的关系,分析其实际特征,从而对源代码可能存在的缺陷错误进行扫描。采用本文描述的静态测试技术,可以减少代码缺陷误报,并提高缺陷检测的效率。(本文来源于《科学大众(科学教育)》期刊2016年06期)
王健康[4](2016)在《Android应用程序的隐式控制流分析》一文中研究指出为了保护智能手机免受恶意代码的攻击,学术界在Android恶意代码检测方面进行了大量的研究,所采用的技术大体上可以分为静态分析和动态分析两个方面。控制流程图是静态分析中的一个重要组成部分,本文主要研究如何构建Android应用程序的控制流程图。由于Android是一个基于事件和框架的系统,应用程序中存在着大量的隐式调用,这是静态分析工具构建控制流程图过程中面临的一个比较大的挑战。目前的静态分析工具只是对一些比较流行的隐式调用进行建模(如生命周期回调方法),我们发现这种做法是不充分的,恶意软件可以通过不流行的隐式控制流绕过软件检测。本文主要结合工具EdgeMiner提供的Android“框架层”中隐式调用的API总结,利用过程内后向数据流分析技术,提取Android"应用层”中所有与回调方法相关的隐式调用。结合应用程序中的显式控制流和其他的隐式控制流,我们开发出了一款比较精确的,可扩展的原型工具用来构建Android应用程序的控制流程图。本文的主要工作和贡献有:(1)提出了一种自动化分析Android应用程序中与回调方法相关的隐式调用方法,该方法根据“框架层”中隐式调用关系来提取Android "应用层”中隐式调用,克服了现有方法在提取隐式控制流上的不足。(2)实现了一个轻量级的控制流程图构建工具,对每一个给定的应用程序,可以为其构建精确的控制流程图,包括传统的过程内控制流程图、过程间显式控制流程图和过程间隐式控制流程图。该工具使用Python语言开发,生成的控制流程图可应用于后续更加精确的静态分析,如数据流分析。(3)在Google Play上的200个(10个分类)免费热门Android应用软件上进行了实验,验证了该工具的有效性。与当前比较着名的静态分析工具FlowDroid和Amandroid作对比,本文的工具可以发现更多的隐式控制调用关系。对于给定的Android应用程序,在有了精确的控制流程图的基础上,研究人员可以完成后续的静态分析工作。由于控制流程图的准确性得到了提高,它也会提升后续静态分析的精确性。(本文来源于《中国科学技术大学》期刊2016-04-18)
李景曦[5](2016)在《基于控制流分析的模糊测试技术研究》一文中研究指出近年来,网络信息安全形势日益严峻,各种形式的攻击和窃密行为层出不穷,不仅对个人信息和财产,也对国防建设和国民经济各个领域构成严重威胁。随着今年来大量的安全事件的曝光,可以看到对安全漏洞的利用是这些攻击行为的关键所在。根据已经发现和披露的安全漏洞来看,软件漏洞占据了信息系统漏洞的绝大数量。软件安全漏洞具有广泛性和多样性的特点,因此软件漏洞成为攻防双方都积极关注的资源。漏洞挖掘,即有效快速的发现软件缺陷或漏洞也已成为信息安全业界和学术界的重要研究方向。目前,模糊测试和符号执行以其有效及简单的特点成为漏洞挖掘领域的常用技术方法。基于符号执行的模糊测试方法在一定程度上减少了模糊测试的盲目性和符号执行的路径爆炸的缺陷,提高了代码覆盖率。但是其在测试效率,测试用例的数据有效性、完整性上依旧存在严重不足,而且路径爆炸的问题依旧存在。本文提出了一种基于控制流分析的模糊测试技术,它使用动态污点分析技术分析程序控制流,并将分析结果用于动态符号执行。这种方法减少了符号数量和不必要的程序路径分析,使得我们更关注于输入数据中能够改变程序路径的字节量,因此该方法是一种路径导向型测试方法。该技术提高了模糊测试中输入数据的有效性和完整性,减少了符号执行的符号数量和分析强度,也因此提高了测试效率和代码覆盖率。本文设计实现了原型系统——ConcolicFuzz,通过实验,和经典模糊测试工具FileFuzz相比较,提高了代码覆盖率和测试效率,减少了模糊测试范围。证明了本文的方法对于具有高度复杂结构化的输入数据,能够在相对较少的时间内覆盖较多的可执行路径,提高测试数据的代码覆盖率。(本文来源于《北京理工大学》期刊2016-01-01)
王旭[6](2015)在《基于控制流分析和数据流分析的Java程序静态检测方法的研究》一文中研究指出互联网产业的飞速发展,给人们的生活带来了非常多的便利,人们对计算机的需求日益增长,同时也刺激着软件行业的不断进步。软件需求量的增多,需求方式的多样性,促使软件开发者以新的开发方向和角度满足着用户的需求。Java语言作为代表性的程序设计语言,以通用性、高效性、跨平台型以及安全性的独特优势,占据着程序开发语言的主要市场份额。随着软件开发规模的增大,代码复杂度的提高,对软件安全性的检测的难度也随着增大,因此,基于Java源码的静态检测方法有着重要的研究意义。程序的静态检测方法,是基于程序的执行逻辑,依照程序的执行过程对程序的执行结果进行分析,在分析的过程中能够准确的定位程序漏洞节点位置,为后期的修改工作提供有效的支持。现有的基于Java源码的静态检测技术在分析效率和结果准确率这两个程序分析的重要指标上都有着亟待提高的空间,本文基于控制流分析和数据流分析方法的研究,提出的一种新的检测系统在这两个方面较以往的检测方法都有着较为明显的提升。本文的主要研究工作为:第一、基于控制流分析框架对Java源码进行控制流分析生成过程间控制流图,第二、结合IFDS问题的理论研究,将Java程序分析问题抽象为具体IFDS问题,第叁、根据IFDS问题,定义IFDS问题求解器的接口类和接口类中的功能函数,其中最重要的功能函数为数据流函数;数据流函数定义了不同类型的数据流,并根据程序执行的逻辑,判断当前语句的类型,根据当前语句的类型,选择相对应类型的数据流函数,对程序进行数据流分析,得出分析结果。通过对该系统的实验测试,表明基于控制流分析和数据流分析的Java源码静态检测框架可以完成对程序的完整性分析,并且对程序的漏洞分析结果的准确率高于一般静态程序分析平均标准值,达到了预期的设计目标和要求。(本文来源于《西安电子科技大学》期刊2015-11-01)
吴敏,唐德鹏[7](2015)在《综合控制流与数据流分析的主机异常检测新方法》一文中研究指出传统主机异常检测方法只针对控制流信息或数据流信息进行分析,在两个研究方向上产生了很大的分化,不能很好地吸取彼此的成果。基于这种情况,提出一种新的综合控制流与数据流分析的新方法。该方法首先使用系统调用定长序列构建模式库,再用关联规则挖掘方法挖掘同一模式或不同模式下属性间的关联规则,构建用于检测评估的两种规则集。实验结果表明,基于控制流上下文的数据流分析新方法能够发现先前数据流分析所不能发现的更精准更有用的规则从而检测出更多的异常行为。(本文来源于《计算机应用与软件》期刊2015年05期)
刘建林,王震宇,蒋烈辉,谢耀滨,刘絮颖[8](2011)在《基于控制流分析的隐藏代码动态捕获方法》一文中研究指出为获取并分析采用加壳、控制流混淆技术所产生的隐藏代码,提出一种新的隐藏代码动态捕获方法。利用静态控制流分析算法提取动态捕获点,采用动态二进制插桩技术插入监控代码,在程序的执行过程中实现隐藏代码的执行前分析。实验结果证明,该方法能够减少程序插桩点,有效获取并分析可执行程序中的隐藏代码。(本文来源于《计算机工程》期刊2011年21期)
阳俊文[9](2011)在《基于二进制可执行文件的控制流分析研究》一文中研究指出近年来,随着我国信息化技术的不断推进,网络安全日益突出,大多数的网络安全应用都是基于软件的安全缺陷来进行的。而在软件安全领域有很多关键问题需要对二进制可执行性代码进行安全特性的分析。控制流分析是安全特性分析中的一个关键步骤,它的目标在于恢复程序的执行流,为后续的程序不同路径的安全性分析、数据流分析、符号执行以及测试数据生成等打下良好的基础。本文引进支配结点,支配树等相关概念,分析了条件语句、多路分支语句和循环语句在编译成二进制文件后在流图和支配树上所表现的特征,并描述了条件结构和循环结构的恢复方法。(本文来源于《北京邮电大学》期刊2011-01-10)
窦增杰,王震宇,陈楠,王瑞敏,田佳[10](2010)在《基于可执行代码中间表示的控制流分析》一文中研究指出为准确刻画程序的控制流和正确地提取程序控制结构,给出可执行代码控制流分析的整体架构和算法,阐述可执行代码反汇编结果的抽象表示、程序控制流构造等技术。反汇编结果抽象表示采用简化汇编语言中间表示(SAIR)以保证分析的简洁性和严密性。基于SAIR给出程序控制流构造函数,设计程序控制流构造算法并给出分析实例。(本文来源于《计算机工程》期刊2010年21期)
控制流分析论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
对软件进行回归测试的目的,一方面为确保软件修改后能达到预期目标,另一方面需要确认软件的修改没有影响软件其余部分正常运行。回归测试过程中,需要根据更改影响域进行测试设计,故更改影响域的确定成为回归测试成败的关键。本文提出一种基于控制流和数据流的更改影响域分析方法,对修改后的软件根据被修改部分所处的控制流和数据流范围确定更改影响域,再根据更改影响域设计测试用例。该方法提高了回归测试用例范围的准确性,同时确保了回归测试覆盖率,提高了软件回归测试质量。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
控制流分析论文参考文献
[1].张晔,陆余良.PLC程序控制流分析方法[J].计算机应用.2017
[2].杨贞祥,赵兴奋,贺虎林.基于控制流和数据流分析的软件回归测试设计[J].电子科学技术.2016
[3].皮筛成,游辉敏.基于控制流分析的软件源代码静态测试技术的研究[J].科学大众(科学教育).2016
[4].王健康.Android应用程序的隐式控制流分析[D].中国科学技术大学.2016
[5].李景曦.基于控制流分析的模糊测试技术研究[D].北京理工大学.2016
[6].王旭.基于控制流分析和数据流分析的Java程序静态检测方法的研究[D].西安电子科技大学.2015
[7].吴敏,唐德鹏.综合控制流与数据流分析的主机异常检测新方法[J].计算机应用与软件.2015
[8].刘建林,王震宇,蒋烈辉,谢耀滨,刘絮颖.基于控制流分析的隐藏代码动态捕获方法[J].计算机工程.2011
[9].阳俊文.基于二进制可执行文件的控制流分析研究[D].北京邮电大学.2011
[10].窦增杰,王震宇,陈楠,王瑞敏,田佳.基于可执行代码中间表示的控制流分析[J].计算机工程.2010