路径敏感检测方法和装置

    公开(公告)号:CN104866417B

    公开(公告)日:2018-01-02

    申请号:CN201410064881.3

    申请日:2014-02-25

    Abstract: 本发明实施例提供一种路径敏感检测方法和装置,本发明路径敏感检测方法,包括:根据值流错误类型为变量设置初始的与错误相关的属性,沿着定值引用链传播初始的与错误相关的属性,在潜在错误语句处识别变量的与错误相关的属性,根据在潜在错误语句处识别的变量的与错误相关的属性,确定潜在错误语句为可能错误语句,根据可能错误语句获得路径敏感检测的语句输入集,根据路径敏感检测的语句输入集进行路径敏感检测。从而解决现有技术中检测值流错误存在的可扩展性并不理想,无法有效应用于大规模的应用程序的问题,通过减少路径敏感检测的语句输入集降低了检测开销,能够有效应用于大规模的应用程序。

    一种程序的错误检测方法及设备

    公开(公告)号:CN104281519A

    公开(公告)日:2015-01-14

    申请号:CN201310284541.7

    申请日:2013-07-08

    CPC classification number: G06F11/3608

    Abstract: 本发明实施例公开了程序的错误检测方法及设备,应用于计算机技术领域。程序的错误检测设备会对待分析程序进行分析得到的程序分析信息,并根据程序分析信息获取待分析程序中各个定值点的错误属性格值,并对待分析程序中错误属性格值具有危险属性的定值点对应的引用点进行错误提示。主要是将对程序错误的检测变换为错误属性格值的计算,简化了错误检测的过程,可以提高程序的错误检测效率;且在得到程序分析信息时程序的错误检测设备可以考虑到待分析程序的多种敏感性,得到每个程序点的完整信息,使得得到的错误属性格值也比较准确,提高了对待分析程序的错误检测精度。

    一种基于组合并算法的偏移量分配优化方法

    公开(公告)号:CN100414505C

    公开(公告)日:2008-08-27

    申请号:CN200510082821.5

    申请日:2005-07-08

    Abstract: 本发明公开了一种基于组合并算法的偏移量分配优化方法,特别涉及一种针对“受限制的索引寻址模式”的偏移量分配优化方法。本发明在对代码进行优化的时候,采用组合并的方法,将访问图中权重较大的边优先划分到一个子图内,使得各个子图之内的顶点构成的子图之内边的权重之和最大,增强整体的分组效果。本发明可以减少对地址寄存器的设定操作,减少了代码大小,从而提高了编译优化性能。

    二进制翻译中标志位的优化处理方法

    公开(公告)号:CN1296815C

    公开(公告)日:2007-01-24

    申请号:CN200310102443.3

    申请日:2003-10-21

    Abstract: 本发明涉及指令集体系结构、二进制翻译技术领域,本发明针对二进制翻译中的解释执行提出了即时计算与延迟计算相结合的解决方法,用于优化解释执行中的标志位处理。对二进制翻译中的动态翻译提出了数据流分析和延迟计算相结合的解决方法,优化动态翻译时的标志位处理,该方法在基本翻译单元内采用数据流分析方法删除处理冗余标志位的目标代码,而在翻译单元之间采用延迟计算方法减少翻译单元之间处理冗余标志位而生成的冗余目标代码。以下简称DFADC法。通过上述两种方法,可以使翻译时减少用于仿真源ISA的标志位而产生的目标代码数量,提高了翻译代码的质量,从而使翻译执行速度得到提高。

    一种基于组合并算法的偏移量分配优化方法

    公开(公告)号:CN1892603A

    公开(公告)日:2007-01-10

    申请号:CN200510082821.5

    申请日:2005-07-08

    Abstract: 本发明公开了一种基于组合并算法的偏移量分配优化方法,特别涉及一种针对“受限制的索引寻址模式”的偏移量分配优化方法。本发明在对访问图进行划分的时候,采用组合并的方法,将权重较大的边优先划分到一个子图内,使得各个子图之内的顶点构成的子图之内边的权重之和最大,增强整体的分组效果。本发明可以对地址寄存器的设定操作,优化了代码,从而提高了编译优化性能。

    一种动态二进制翻译中的翻译方法

    公开(公告)号:CN1746849A

    公开(公告)日:2006-03-15

    申请号:CN200410069182.4

    申请日:2004-09-10

    Abstract: 本发明涉及一种动态二进制翻译中的翻译方法,包括以下步骤:统计寻找翻译代码中频繁出现并影响翻译质量的翻译代码片断;找出上述代码片断中的指令模式;确定指令模式的翻译对应关系;扫描待翻译的基本块,寻找所述指令模式,找到,匹配成功,给所述指令模式做标记,否则,匹配未成功,结束扫描;翻译基本块,翻译时遇到标记的指令时,按照所述指令模式的翻译对应关系翻译,否则,按照常规翻译。本发明通过指令模式匹配来翻译基本块,降低代码重复优化导致的系统开销,提高翻译质量和效果,从而提高了动态二进制翻译的性能。

    一种无损压缩系统依赖图的方法及装置

    公开(公告)号:CN103902273B

    公开(公告)日:2017-07-07

    申请号:CN201210584770.6

    申请日:2012-12-28

    Abstract: 本发明的实施例提供一种无损压缩系统依赖图的方法及装置,涉及计算机领域,能够实现系统依赖图的无损压缩,并降低系统依赖图的规模,从而降低以系统依赖图为基础的切片算法的开销。其方法为:首先提取程序中所有变量之间的等价关系,而后通过该等价关系将程序中所有变量分为不同的等价类,并根据这些等价类为系统依赖图中的节点设置键值,而后根据系统依赖图中的节点的键值压缩系统依赖图。本发明实施例用于对系统依赖图进行压缩。

    二进制翻译中的库函数调用处理方法

    公开(公告)号:CN100359471C

    公开(公告)日:2008-01-02

    申请号:CN200410081020.2

    申请日:2004-09-30

    Abstract: 本发明公开了一种二进制翻译中的库函数调用处理方法,包括在目标机中用内存模拟原系统的寄存器和堆栈;应用目标机本地的约定进行传参和返回值处理,依次对原系统二进制程序中的每个基本块进行处理。本发明通过用目标机本地的约定进行传参和返回值处理,而不是去模拟原机器的调用约定,省去了将参数压入模拟原系统的模拟堆栈或寄存器,然后又从堆栈或寄存器中取出放入到目标机传参寄存器或堆栈中过程中频繁对内存的操作,提高了程序执行的效率,进而提高了系统翻译效率,提高了系统性能。

    一种遗产代码向现代语言变换过程中的控制流变换方法

    公开(公告)号:CN100337203C

    公开(公告)日:2007-09-12

    申请号:CN200410030988.2

    申请日:2004-04-05

    Abstract: 本发明涉及一种遗产代码向现代语言变换过程中的控制流变换方法。该方法包括以下步骤:将COBOL程序的一个“过程”转换成一个Java类;在上述Java类中设置一个“入口函数”;设置上述“入口函数”的内容;对COBOL程序的段名进行编号;对COBOL过程体结构进行处理:对PERFORM语句进行处理:对GOTO语句进行处理:对PERFORM语句进行处理:当遇到PERFORM语句时,将其翻译为:执行函数,包括其入口,出口对应的编号,参数列表;在每个段尾增加一条语句:if(出口点=本段编号)return。在遗产代码向现代语言变换过程中利用高级语言的switch和while语句来同时消除GOTO和PERFORM复合控制结构。该方法不改变程序的结构,保持了程序可读性,并较好地控制了代码膨胀。

    一种检测运行栈与静态数据区重叠的方法

    公开(公告)号:CN1920792A

    公开(公告)日:2007-02-28

    申请号:CN200510093280.6

    申请日:2005-08-23

    Abstract: 本发明公开了一种检测运行栈与静态数据区重叠的方法。该方法在链接器中对运行栈和静态数据区在数据内存中的布局进行调整,然后在软件模拟器中进行运行时检测,在软件模拟器中添加判断栈指针值与数据内存最低地址大小关系的代码,如果栈指针值小于数据内存最低地址,就说明发生了运行栈下溢,在原程序中出现运行栈与静态数据区重叠的错误。本发明的优点:1)在模拟器中只需要添加判断栈指针值与数据内存基址大小关系的代码,当程序执行中发生运行栈下溢的情况时就可以自动报告错误;2)没有带来内存开销;3)生成的可执行文件可以加载到硬件上运行。

Patent Agency Ranking