软件开发工具的测试方法及系统

    公开(公告)号:CN101866315A

    公开(公告)日:2010-10-20

    申请号:CN201010204249.6

    申请日:2010-06-11

    Abstract: 本发明涉及软件开发工具的测试方法及其系统,方法包括:步骤1,配置模块获得并存储开源软件项目的构建命令,保存配置的对所述构建命令的修改方式;步骤2,测试执行模块读取存储的构建命令,依据配置的修改方式修改所述构建命令流,以将构建命令流转化为测试命令流;步骤3,测试执行模块调用待测试的软件开发工具执行所述测试命令流,进行构建过程重放;步骤4,测试执行模块监控构建过程重放,测试报告生成模块根据测试执行模块输出的监控结果生成测试报告。本发明能够提高对软件开发工具的测试的效率。

    一种支持用规则记录变量访问专用寄存器组的处理方法

    公开(公告)号:CN100559344C

    公开(公告)日:2009-11-11

    申请号:CN200510093279.3

    申请日:2005-08-23

    Abstract: 本发明公开了一种支持用规则记录变量访问专用寄存器组的处理方法。该方法包括:1)设计新的类型属性,以标识需要放入专用寄存器组的规则记录变量类型;2)设计规则记录变量的语法树结构,用递归算法实现计算规则记录变量各成员相对位置;3)设计规则记录变量的中间表示;4)生成利用规则记录变量访问专用寄存器组的代码。本发明的优点:1)保留高级语言开发的优点,又克服了高级语言难以对特殊硬件进行直接控制的缺点,提高编程效率,缩短开发周期;2)向程序员屏蔽了底层硬件的细节,能灵活的处理各种专用寄存器组的使用规范;3)向编译器暴露更多的优化机会,提高系统性能。

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

    公开(公告)号:CN100426254C

    公开(公告)日:2008-10-15

    申请号:CN200510093280.6

    申请日:2005-08-23

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

    二进制翻译中局部变量识别和提升的处理方法

    公开(公告)号:CN100377088C

    公开(公告)日:2008-03-26

    申请号:CN200510051448.7

    申请日:2005-03-04

    Abstract: 本发明公开了一种二进制翻译中对局部变量识别和提升的方法包括以下步骤:a、对翻译单元进行条件判别,判断在此翻译单元内能否进行局部变量的提升;b、依次对可处理翻译单元的每个基本块进行处理,对每条指令的局部变量进行识别;c、将b步骤中识别出来的局部变量进行提升,将识别出来的信息传播到整个翻译单元,并在必要的时候进行同步;本发明克服现有二进制翻译技术中局部变量不能和其他内存操作数区别对待的缺陷,通过对局部变量识别和提升,提高翻译质量和效果,从而提高二进制翻译的性能。

    一种解决多寄存器组冲突的方法

    公开(公告)号:CN100368992C

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

    申请号:CN200510077171.5

    申请日:2005-06-16

    Abstract: 本发明公开了一种解决多寄存器组冲突的方法,包括:1)建立寄存器冲突图,图中的每个节点都代表一个虚拟寄存器,各个节点有优先级;两个节点之间存在一条边表示存在寄存器组冲突;2)对节点,按照优先级从高到低的顺序开始分配寄存器组;3)对一个节点,计算被分配到各个寄存器组的代价;4)将代价与阀值做比较,如果所有代价均大于阀值,则对该节点做区间分割,否则执行下一步;5)如果节点分配到一个寄存器组的代价小于其它寄存器组,则指定该寄存器组给节点;6)寄存器冲突图中的所有节点分配完寄存器组后,将结果与寄存器冲突图做比较,如果存在寄存器组冲突,则在所有以这两个节点所对应的虚拟寄存器为源操作数的指令前插入拷贝指令。

    一种支持用规则记录变量访问专用寄存器组的处理方法

    公开(公告)号:CN1920771A

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

    申请号:CN200510093279.3

    申请日:2005-08-23

    Abstract: 本发明公开了一种支持用规则记录变量访问专用寄存器组的处理方法。该方法包括:1)设计新的类型属性,以标识需要放入专用寄存器组的规则记录变量类型;2)设计规则记录变量的语法树结构,用递归算法实现计算规则记录变量各成员相对位置;3)设计规则记录变量的中间表示;4)生成利用规则记录变量访问专用寄存器组的代码。本发明的优点:1)保留高级语言开发的优点,又克服了高级语言难以对特殊硬件进行直接控制的缺点,提高编程效率,缩短开发周期;2)向程序员屏蔽了底层硬件的细节,能灵活的处理各种专用寄存器组的使用规范;3)向编译器暴露更多的优化机会,提高系统性能。

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

    公开(公告)号:CN1755631A

    公开(公告)日:2006-04-05

    申请号:CN200410081020.2

    申请日:2004-09-30

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

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

    公开(公告)号:CN1529229A

    公开(公告)日:2004-09-15

    申请号:CN200310102443.3

    申请日:2003-10-21

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

    含有显式高速缓冲存储器的计算机微体系结构

    公开(公告)号:CN100390755C

    公开(公告)日:2008-05-28

    申请号:CN200310101067.6

    申请日:2003-10-14

    Abstract: 一种含有显式高速缓冲存储器的计算机微体系结构,包括内存、cache、寄存器和运算部件,还包括位于CPU芯片内的Ecache,所述Ecache与内存统一编码。本发明的Ecache位于CPU芯片内,因此可保证硬件实现对Ecache的快速访问;Ecache与内存统一编址,且从小地址开始,因此在所有访存指令中,访问Ecache的地址显式出现(可见),硬件易于识别与实现。设计的几组指令,支持编译器和运行程序对Ecache的显式使用和动态管理。这些指令与Ecache是不可分的整体。

Patent Agency Ranking