首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 31 毫秒
1.
中间表示对编译器的性能、效率和可扩展性都起着决定性作用.Open64编译器采用一种树型结构的中间表示WHIRL,能表示各种高级控制流结构,但不能显式的提供数据流信息.本文基于WHIRL对SSA(Static Single Assignment)进行扩展,提出了一个新的优化结构WHIRL SSA.WHIRL SSA通过将SSA信息标注在WHIRL节点上,显式的为数据流分析提供使用-定义(UD)信息.相比于传统的数据流信息构建方法,WHIRL SSA提供了更精确、有效的数据流信息.本文讨论了WHIRL SSA的设计与实现和基于WHIRL SSA的优化.  相似文献   

2.
一种基于异常传播分析的数据流分析方法   总被引:8,自引:0,他引:8  
异常处理是一种用来检测异常并对其进行处理的技术.异常传播改变了程序原来的执行路线,从而改变了程序中的数据流.在进行数据流分析时,如果不考虑异常传播对其造成的影响,则得到的信息将是不准确的.在分析C++异常传播机制和异常传播对数据流分析影响的基础上,提出一种包含异常传播信息的函数间控制流图的构建方法.该控制流图可以清晰地表示出异常的隐式控制流和异常的传播路径;然后提出了基于异常传播分析的数据流分析方法,并给出相应的算法.该方法既克服了因忽略异常传播对数据流影响而造成分析结果不准确的不足,又有助于实现异常传播数据流分析的自动处理;最后用一个实例验证了该方法的可用性.该方法可以为结构测试、回归测试、程序切片等软件工程任务提供相关信息.  相似文献   

3.
基于源代码的静态分析技术是检测软件脆弱性的一种重要手段.针对不可信数据输入导致软件脆弱性的问题,提出一种基于污点分析的脆弱性检测方法.通过跟踪程序参数、环境变量等各种外部输入,标记输入的类型,在构造控制流图基础上,利用数据流分析中的相关信息,污点传播至各类脆弱性函数,从而解决缓冲区溢出、格式化字符串等问题.利用控制流、数据流分析的相关信息,提高了准确率,降低了漏报率.实验表明,该技术是一种有效的脆弱性分析方法.  相似文献   

4.
Soot的Java程序控制流分析及图形化输出   总被引:1,自引:1,他引:0  
Soot是一个Java编译优化框架,可以利用它实现Java字节码程序的数据流分析和控制流分析。在深入分析Soot控制流生成机制的基础上,详细叙述了利用Soot分析Java类的控制流并生成其控制流图的方法和过程,同时提出了将Soot生成的抽象的控制流图进行图形化输出的方法。  相似文献   

5.
传统主机异常检测方法只针对控制流信息或数据流信息进行分析,在两个研究方向上产生了很大的分化,不能很好地吸取彼此的成果。基于这种情况,提出一种新的综合控制流与数据流分析的新方法。该方法首先使用系统调用定长序列构建模式库,再用关联规则挖掘方法挖掘同一模式或不同模式下属性间的关联规则,构建用于检测评估的两种规则集。实验结果表明,基于控制流上下文的数据流分析新方法能够发现先前数据流分析所不能发现的更精准更有用的规则从而检测出更多的异常行为。  相似文献   

6.
为轻松获得程序的可能执行路径,进而实现程序变量的状态跟踪,提出了一种C/C++源代码控制流提取算法,通过该模型获取控制流切片,产生局部控制流图,将数据流异常检测与安全子集检测相结合,弥补了单独使用安全子集方法无法跟踪数据流的不足,增强代码安全隐患的挖掘能力.利用控制流图化简,排除部分不可达控制流信息,提高跟踪效率.通过对3个Linux内核源文件的检测,验证了该方法不仅可以检测出违反安全子集的代码安全隐患,同时对代码数据流异常检测提供支持,准确率达94.9%.  相似文献   

7.
由于虚拟机采用虚拟化技术和代码混淆技术,采用传统的逆向分析方法还原被虚拟机保护的算法时存在较大困难。为此,提出一种基于动态数据流分析的虚拟机保护破解方法。以动态二进制插桩平台Pin作为支撑,跟踪记录被虚拟机保护的算法在动态执行过程中的数据流信息,对记录的数据流信息进行整理分析,获取虚拟机指令的解释执行轨迹,还原程序的控制流图,根据轨迹信息对数据生成过程进行分层次、分阶段还原,并由分析人员结合控制流图和数据生成过程进行算法重构。实验结果证明,该方法能够正确还原程序的控制流和数据生成过程,辅助分析人员完成被保护算法的重构。  相似文献   

8.
芦运照  张兆庆 《计算机工程》2004,30(10):43-44,73
软件规范巾的函数凋用约定指出,caller和callee都需要保存函数调用前后的程序状态。根据数据流分析和过程间分析,caller和callee会保存和恢复的程序状态有不同的分工。数据流分析方法在决定对callee-savc的寄存器是否要保存恢复时是从理论上在函数的入口保存寄存器状态而在函数的出口恢复寄存器状态,然而在特定控制流路径上并没有对一些保存的全局寄存器的状态进行修改,所以这些控制流路径上的寄存器保存恢复实际上是冗余的。该文提出了一种简单快捷的反向数据流分析方法,对特定控制流路径上的callee—save的寄存器恢复指令进行选择性优化,从而使特定控制流路径上的代码得到有效的优化,特别足对热控制流路径和短路径,提出的优化方法显得特别重要。  相似文献   

9.
提高路径敏感缺陷检测方法的效率及精度研究   总被引:1,自引:0,他引:1  
路径敏感的缺陷检测方法其缺陷状态会关联当前控制流节点的所有数据流信息,由于其中包含与缺陷检测无关的数据流,因此会导致分析效率下降.为了避免全路径敏感分析时的路径爆炸问题,一般会在控制流汇合节点进行缺陷状态合并,而这种粗糙的合并策略带来的精度损失会引起误报.针对上述问题,文中提出一种基于缺陷的程序切片方法,该方法基于缺陷...  相似文献   

10.
面向对象类簇级测试中控制依赖分析方法研究   总被引:3,自引:0,他引:3       下载免费PDF全文
类簇控制依赖信息是进行类间数据流测试的基础。本文通过克服已有类控制流分析的不足之处,提出了CCFG算法,依照类间测试序,通过分析继承、聚集和关联等类间关系特 征进而增量式地构造类间控制流图(ICCFG算法),并初步探讨了动态控制依赖分析方法。实验表明,上述控制流分析方法可方便地用于类间数据流测试,并能有效地探测定义一使用错误。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号