CN117171053A - 一种用于向量化编程的测试方法、系统及相关设备 - Google Patents
一种用于向量化编程的测试方法、系统及相关设备 Download PDFInfo
- Publication number
- CN117171053A CN117171053A CN202311435402.XA CN202311435402A CN117171053A CN 117171053 A CN117171053 A CN 117171053A CN 202311435402 A CN202311435402 A CN 202311435402A CN 117171053 A CN117171053 A CN 117171053A
- Authority
- CN
- China
- Prior art keywords
- test
- programming
- function
- data
- preprocessing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010998 test method Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 120
- 238000007781 pre-processing Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000013515 script Methods 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 65
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于计算机领域,提供了一种用于向量化编程的测试方法、系统及相关设备,所述测试方法包括获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;通过预设编译器工具对所述预处理函数进行解析,得到综合参数;根据所述综合参数通过脚本自动生成具有预设特征的测试数据;将所述测试数据作为待测试程序的输入,得到测试用例;通过对所述测试用例进行测试,得到测试结果。本发明通过对函数原型进行分析,建立脚本自动化生成测试数据,极大的降低了构建测试数据的负担,并且生成的测试数据具有预设特征,通过预设特征极大的提升了向量化程序的分析效率和故障定位效率。
Description
技术领域
本发明适用于计算机领域,尤其涉及一种用于向量化编程的测试方法、系统及相关设备。
背景技术
向量处理器是处理器通过数据并行提升性能的一种设计,第五代精简指令集(RISC-V instruction set architecture,RISC-V)已经发布RISC-V规范(specification, SPEC)支持RISC-V做向量计算。RISC-RVV是RISC-V架构特定的向量扩展,可以在向量寄存器上执行向量化计算,在RISC-RVV提供向量寄存器组合、slide等功能提供了更宽的向量寄存器和更灵活的数据组合,从而实现了更高效率的数据并行处理能力。
然而,在现有技术中面向标量开发的程序的调试和问题定位方法由于难度适中而广泛使用,但针对面向标量开发的程序的调试方法的调试效率已经不能满足面向向量开发的程序调试和定位需求。测试使用的数据对于分析和定位向量化程序执行过程有着非常重要的作用,亟需新的方法,来保证面向向量开发的程序的调试效率。
因此,有必要提供一种新的用于向量化编程的测试方法、测试方法、系统及相关设备解决上述问题。
发明内容
本发明提供一种用于向量化编程的测试方法、系统及相关设备,旨在解决现有技术中针对面向标量开发的程序的调试方法以及不能满足面向向量开发的程序的调试和定位需求问题。
第一方面,本发明提供一种用于向量化编程的测试方法,所述测试方法包括以下步骤:
获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;
通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度;
根据所述综合参数通过脚本自动生成具有预设特征的测试数据,所述预设特征用于判断测试中的计算过程是否正确;
将所述测试数据作为待测试程序的输入,得到测试用例;
通过对所述测试用例进行测试,得到测试结果。
优选的,所述预设特征为固定值序列数据。
优选的,所述预设特征为等差数列数据或等比数列数据。
优选的,所述预设特征为组合序列数据。
优选的,所述待测函数原型包括c语言或c++语言的函数原型。
优选的,在所述通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度的步骤后,所述测试方法还包括以下步骤:
根据所述综合参数通过脚本自动生成随机的压力测试数据;
将所述压力测试数据作为待压力测试程序的输入,得到压力测试用例;
通过对所述压力测试用例进行测试,得到压力测试结果。
第二方面,本发明还提供一种用于向量化编程的测试系统,所述测试系统包括:
预处理模块,用于获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;
解析模块,用于通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度;
生成模块,用于根据所述综合参数通过脚本具有预设特征的自动生成测试数据;
输入模块,用于将所述测试数据作为待测试程序的输入,得到测试用例;
测试模块,用于通过对所述测试用例进行测试,得到测试结果。
第三方面,本发明还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的向量化编程的测试程序,所述处理器执行所述向量化编程的测试程序时实现如上述实施例中任意一项所述的向量化编程的测试方法中的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有向量化编程的测试程序,所述向量化编程的测试程序被处理器执行时实现如上述实施例中任意一项所述的向量化编程的测试方法中的步骤。
本发明所达到的有益效果,在于通过对函数原型进行分析,建立脚本自动化生成测试数据,极大的降低了构建测试数据的负担,并且生成的测试数据具有预设特征,通过预设特征极大的提升了向量化程序的分析效率和故障定位效率。
附图说明
下面结合附图详细说明本发明。通过结合以下附图所作的详细描述,本发明的上述或其他方面的内容将变得更清楚和更容易理解。附图中:
图1是本发明实施例提供的用于向量化编程的测试方法的流程图;
图2是本发明实施例提供的用于向量化编程的测试系统的结构示意图;
图3是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
请参考图1,图1是本发明实施例提供的用于向量化编程的测试方法的流程图,本发明提供一种用于向量化编程的测试方法,所述测试方法包括以下步骤:
S101、获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;
在本发明实施例中,所述待测函数原型为c语言或c++语言函数的原型,利用预编译工具软件如CPP(C Preprocessor),根据预处理器指令对所述待测函数原型进行编译预处理。具体的,预编译工具软件会将待测函数原型中所有define删除,并且展开所有的宏定义,处理所有的条件预编译指令(如if、ifdef、elif、else、endif等),处理include预编译指令,将被包含的文件直接插入到预编译指令的位置,删除所有的注释,添加行号和文件标识,以便编译时产生调试用的行号及编译错误警告行号。
S102、通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度;
在本发明实施例中,通过所述预设编译器工具如Lex(lexical analyzer ,词法分析器)和Yacc(yet another compiler compiler ,编译器代码生成器)对所述预处理函数进行词法解析、语法解析,提取出所述预处理函数的函数类型、函数名、每个参数类型、每个参数的名字、每个参数的长度(如数组的维度和每个维度的长度)。
S103、根据所述综合参数通过脚本自动生成具有预设特征的测试数据,所述预设特征用于判断测试中的计算过程是否正确;
在本发明实施例中,所述预设特征为固定值序列数据,例如[a,a…a,a],其中,a可以是整数、定点数以及浮点数中的一种,所述固定值序列数据用于核对向量寄存器的加载和存储,得到向量计算单元的计算结果。由于固定值序列数据中的值都为整数、定点数以及浮点数中的一种,所以测试人员能够通过该特征对向量寄存器的加载和存储进行快速地核对,增加了核对的效率。
在本发明实施例中,所述预设特征为等差数列数据或等比数列数据,例如等差数列数据[a+0×b,a+1×b,a+2×b…a+n×b]或等比数列数据[a×0×b,a×1×b,a×2×b…a×n×b],所述等差数列数据或所述等比数列数据用于核对向量寄存器的加载和存储,得到向量计算单元的计算结果。由于等差数列数据或等比数列数据与其他数据相比具有明显的特征,测试人员能够通过该特征准确的找到等差数列数据或等比数列数据从而准确地对向量寄存器的加载和存储进行核对。
在本发明实施例中,所述预设特征为组合序列数据,所述组合序列数据用于核对向量寄存器的加载和存储。其中,将把多维数据数组的下标通过计算组合作为所述组合序列数据的值,所述组合序列数据通过标记数据与其存储位置的关系,用于核对向量寄存器的加载和存储是否正确。
通过所述预设特征作为标识有利于向量化程序的分析和定位,所述预设特征为预设数据,所述预设数据即易于计算的数据,以便测试人员在检查计算过程的时候易于判断。示例性的,由于向量化程序的调试阶段是测试人员核对并考虑到人类平均的计算能力,为了提供调试效率,采用一位数或两位数的数据用于核对数学运算的结果(例如加减乘除),例如当预设特征为组合序列数据时,将两个三维数组分别设置为0x102030和0x405060,在不依赖计算器辅助的情况下,测试人员可以通过简单的口算得到两个三维数据相加的结果即0x102030+0x405060=0x507090。相对的,若使用随机数据,则数据计算结果核对需要通过计算器辅助,这降低了调试效率。
S104、将所述测试数据作为待测试程序的输入,得到测试用例;
在本发明实施例中,通过输入测试数据,获取生成数据的形式,形成一个面向向量处理器开发的程序的测试用例。测试用例是用于确定面向向量处理器开发的程序是否正确工作的条件或变量。
S105、通过对所述测试用例进行测试,得到测试结果。
在本发明实施例中,由于从测试数据得到的测试用例中包括预设特征,测试人员可以通过该预设特征对测试结果进行快速的核对,准确的定位故障,极大的提升了向量化程序的分析效率和故障定位效率。
在本发明实施例中,在所述通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度的步骤后,测试方法还包括以下步骤:
根据所述综合参数通过脚本自动生成随机的压力测试数据;
将所述压力测试数据作为待压力测试程序的输入,得到压力测试用例;
通过对所述压力测试用例进行测试,得到压力测试结果。
在本发明实施例中,需要进行分析函数执行过程或者定位程序bug时,可以使用具有预设特征的测试数据;需要进行压力测试等应用领域时,可以使用随机生成的压力测试数据。
本发明所达到的有益效果,在于通过对函数原型进行分析,建立脚本自动化生成测试数据,极大的降低了构建测试数据的负担,并且生成的测试数据具有预设特征,通过预设特征极大的提升了向量化程序的分析效率和故障定位效率。
实施例二
本发明实施例还提供一种用于向量化编程的测试系统,请参照图2,图2是本发明实施例提供的用于向量化编程的测试系统200的结构示意图,其包括:
201、预处理模块,用于获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;
在本发明实施例中,所述待测函数原型为c语言或c++语言函数的原型,利用预编译工具软件如CPP(C Preprocessor),对所述待测函数原型进行预处理。
202、解析模块,用于通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度;
在本发明实施例中,通过所述预设编译器工具如Lex(lexical analyzer ,词法分析器)和Yacc(yet another compiler compiler ,编译器代码生成器)对所述预处理函数进行词法解析、语法解析,提取出所述预处理函数的函数类型、函数名、每个参数类型、每个参数的名字、每个参数的长度(如数组的维度和每个维度的长度)。
203、生成模块,用于根据所述综合参数通过脚本自动生成具有预设特征的测试数据,所述预设特征用于判断测试中的计算过程是否正确;
在本发明实施例中,所述预设特征为固定值序列数据,例如[a,a…a,a],其中,a可以是整数、定点数以及浮点数中的一种,所述固定值序列数据用于核对向量寄存器的加载和存储,得到向量计算单元的计算结果。由于固定值序列数据中的值都为整数、定点数以及浮点数中的一种,所以测试人员能够通过该特征对向量寄存器的加载和存储进行快速地核对,增加了核对的效率。
在本发明实施例中,所述预设特征为等差数列数据或等比数列数据,例如等差数列数据[a+0×b,a+1×b,a+2×b…a+n×b]或等比数列数据[a×0×b,a×1×b,a×2×b…a×n×b],所述等差数列数据或所述等比数列数据用于核对向量寄存器的加载和存储,得到向量计算单元的计算结果。由于等差数列数据或等比数列数据与其他数据相比具有明显的特征,测试人员能够通过该特征准确的找到等差数列数据或等比数列数据从而准确地对向量寄存器的加载和存储进行核对。
在本发明实施例中,所述预设特征为组合序列数据,所述组合序列数据用于核对向量寄存器的加载和存储。其中,将把多维数据数组的下标通过计算组合作为所述组合序列数据的值,所述组合序列数据通过标记数据与其存储位置的关系,用于核对向量寄存器的加载和存储是否正确。
通过所述预设特征作为标识有利于向量化程序的分析和定位,所述预设特征为预设数据,所述预设数据即易于计算的数据,以便测试人员在检查计算过程的时候易于判断。示例性的,由于向量化程序的调试阶段是测试人员核对并考虑到人类平均的计算能力,为了提供调试效率,采用一位数或两位数的数据用于核对数学运算的结果(例如加减乘除),例如当预设特征为组合序列数据时,将两个三维数组分别设置为0x102030和0x405060,在不依赖计算器辅助的情况下,测试人员可以通过简单的口算得到两个三维数据相加的结果即0x102030+0x405060=0x507090。相对的,若使用随机数据,则数据计算结果核对需要通过计算器辅助,这降低了调试效率。
204、输入模块,用于将所述测试数据作为待测试程序的输入,得到测试用例;
在本发明实施例中,通过输入测试数据,获取生成数据的形式,形成一个面向向量处理器开发的程序的测试用例。测试用例是用于确定面向向量处理器开发的程序是否正确工作的条件或变量。
205、测试模块,用于通过对所述测试用例进行测试,得到测试结果。
在本发明实施例中,由于从测试数据得到的测试用例中包括预设特征,测试人员可以通过该预设特征对测试结果进行快速的核对,准确的定位故障,极大的提升了向量化程序的分析效率和故障定位效率。
在本发明实施例中,测试系统还包括:
根据所述综合参数通过脚本自动生成随机的压力测试数据;
将所述压力测试数据作为待压力测试程序的输入,得到压力测试用例;
通过对所述压力测试用例进行测试,得到压力测试结果。
在本发明实施例中,需要进行分析函数执行过程或者定位程序bug时,可以使用具有预设特征的测试数据;需要进行压力测试等应用领域时,可以使用随机生成的压力测试数据。
所述用于向量化编程的测试系统200能够实现如上述实施例中的用于向量化编程的测试方法中的步骤,且能实现同样的技术效果,参上述实施例中的描述,此处不再赘述。
实施例三
本发明实施例还提供一种计算机设备,请参照图3,图3是本发明实施例提供的计算机设备的结构示意图,所述计算机设备300包括:存储器302、处理器301及存储在所述存储器302上并可在所述处理器301上运行的用于向量化编程的测试程序。
所述处理器301调用所述存储器302存储的用于向量化编程的测试程序,执行本发明实施例提供的用于向量化编程的测试方法中的步骤,请结合图1,具体包括以下步骤:
S101、获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;
S102、通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度;
S103、根据所述综合参数通过脚本自动生成测试数据;
S104、将所述测试数据作为待测试程序的输入,得到测试用例;
S105、通过对所述测试用例进行测试,得到测试结果。
本发明实施例提供的计算机设备300能够实现如上述实施例中的用于向量化编程的测试方法中的步骤,且能实现同样的技术效果,参上述实施例中的描述,此处不再赘述。
实施例四
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有用于向量化编程的测试程序,该用于向量化编程的测试程序被处理器执行时实现本发明实施例提供的用于向量化编程的测试方法中的各个过程及步骤,且能实现相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,简称RAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,所揭露的仅为本发明较佳实施例而已,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式用等同变化,均属于本发明的保护之内。
Claims (9)
1.一种用于向量化编程的测试方法,其特征在于,所述测试方法包括以下步骤:
获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;
通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度;
根据所述综合参数通过脚本自动生成具有预设特征的测试数据,所述预设特征用于判断测试中的计算过程是否正确;
将所述测试数据作为待测试程序的输入,得到测试用例;
通过对所述测试用例进行测试,得到测试结果。
2.如权利要求1所述的用于向量化编程的测试方法,其特征在于,所述预设特征为固定值序列数据。
3.如权利要求1所述的用于向量化编程的测试方法,其特征在于,所述预设特征为等差数列数据或等比数列数据。
4.如权利要求1所述的用于向量化编程的测试方法,其特征在于,所述预设特征为组合序列数据。
5.如权利要求1所述的用于向量化编程的测试方法,其特征在于,所述待测函数原型包括c语言或c++语言的函数原型。
6.如权利要求1所述的用于向量化编程的测试方法,其特征在于,在所述通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度的步骤后,所述测试方法还包括以下步骤:
根据所述综合参数通过脚本自动生成随机的压力测试数据;
将所述压力测试数据作为待压力测试程序的输入,得到压力测试用例;
通过对所述压力测试用例进行测试,得到压力测试结果。
7.一种用于向量化编程的测试系统,其特征在于,所述测试系统包括:
预处理模块,用于获取待测函数原型,对所述待测函数原型进行预处理,得到预处理函数;
解析模块,用于通过预设编译器工具对所述预处理函数进行解析,得到综合参数,所述综合参数包括所述预处理函数中每一参数的类型以及长度;
生成模块,用于根据所述综合参数通过脚本自动生成具有预设特征的测试数据,所述预设特征用于判断测试中的计算过程是否正确;
输入模块,用于将所述测试数据作为待测试程序的输入,得到测试用例;
测试模块,用于通过对所述测试用例进行测试,得到测试结果。
8.一种计算机设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用于向量化编程的测试程序,所述处理器执行所述用于向量化编程的测试程序时实现如权利要求1-6中任意一项所述的用于向量化编程的测试方法中的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有用于向量化编程的测试程序,所述用于向量化编程的测试程序被处理器执行时实现如权利要求1-6中任意一项所述的用于向量化编程的测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311435402.XA CN117171053B (zh) | 2023-11-01 | 2023-11-01 | 一种用于向量化编程的测试方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311435402.XA CN117171053B (zh) | 2023-11-01 | 2023-11-01 | 一种用于向量化编程的测试方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117171053A true CN117171053A (zh) | 2023-12-05 |
CN117171053B CN117171053B (zh) | 2024-02-20 |
Family
ID=88945279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311435402.XA Active CN117171053B (zh) | 2023-11-01 | 2023-11-01 | 一种用于向量化编程的测试方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171053B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539469A (zh) * | 2024-01-10 | 2024-02-09 | 睿思芯科(成都)科技有限公司 | Risc-v的可视化向量编程方法、系统及相关设备 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862511A (zh) * | 2006-02-28 | 2006-11-15 | 华为技术有限公司 | 一种软件单元的测试方法 |
CN101436128A (zh) * | 2007-11-16 | 2009-05-20 | 北京邮电大学 | 软件测试用例自动生成方法及系统 |
CN104657267A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 弹性的源代码语法树解析系统及方法 |
CN105117269A (zh) * | 2015-10-09 | 2015-12-02 | 天津国芯科技有限公司 | 基于向量中断的编译器的优化方法 |
CN109086215A (zh) * | 2018-10-18 | 2018-12-25 | 北京轩宇信息技术有限公司 | 一种嵌入式软件单元测试用例生成方法及系统 |
CN112035099A (zh) * | 2020-09-01 | 2020-12-04 | 北京天融信网络安全技术有限公司 | 一种抽象语法树中节点的向量化表示方法及装置 |
CN112800427A (zh) * | 2021-04-08 | 2021-05-14 | 北京邮电大学 | webshell检测方法、装置、电子设备和存储介质 |
CN113467911A (zh) * | 2021-06-30 | 2021-10-01 | 广东赛昉科技有限公司 | RISCV架构多核CPU memory consistency仿真验证方法 |
CN113609023A (zh) * | 2021-08-16 | 2021-11-05 | 未鲲(上海)科技服务有限公司 | 精准测试方法、装置、设备及存储介质 |
CN114610608A (zh) * | 2022-03-03 | 2022-06-10 | 北京百度网讯科技有限公司 | 测试用例处理方法、装置、电子设备以及存储介质 |
CN114691506A (zh) * | 2022-03-30 | 2022-07-01 | 中国工商银行股份有限公司 | 压力测试方法、装置、设备、介质和程序产品 |
CN115952044A (zh) * | 2022-12-29 | 2023-04-11 | 北京润科通用技术有限公司 | 一种自动化测试方法及其装置 |
CN116594682A (zh) * | 2023-04-10 | 2023-08-15 | 中国科学院软件研究所 | 基于simd库的自动测试方法及装置 |
CN116775473A (zh) * | 2023-06-14 | 2023-09-19 | 四川大学 | 一种基于编解码框架的核电软件测试用例生成方法 |
CN116860256A (zh) * | 2023-07-11 | 2023-10-10 | 中国科学院软件研究所 | 一种面向risc-v基础c库的优化方法 |
-
2023
- 2023-11-01 CN CN202311435402.XA patent/CN117171053B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862511A (zh) * | 2006-02-28 | 2006-11-15 | 华为技术有限公司 | 一种软件单元的测试方法 |
CN101436128A (zh) * | 2007-11-16 | 2009-05-20 | 北京邮电大学 | 软件测试用例自动生成方法及系统 |
CN104657267A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 弹性的源代码语法树解析系统及方法 |
CN105117269A (zh) * | 2015-10-09 | 2015-12-02 | 天津国芯科技有限公司 | 基于向量中断的编译器的优化方法 |
CN109086215A (zh) * | 2018-10-18 | 2018-12-25 | 北京轩宇信息技术有限公司 | 一种嵌入式软件单元测试用例生成方法及系统 |
CN112035099A (zh) * | 2020-09-01 | 2020-12-04 | 北京天融信网络安全技术有限公司 | 一种抽象语法树中节点的向量化表示方法及装置 |
CN112800427A (zh) * | 2021-04-08 | 2021-05-14 | 北京邮电大学 | webshell检测方法、装置、电子设备和存储介质 |
CN113467911A (zh) * | 2021-06-30 | 2021-10-01 | 广东赛昉科技有限公司 | RISCV架构多核CPU memory consistency仿真验证方法 |
CN113609023A (zh) * | 2021-08-16 | 2021-11-05 | 未鲲(上海)科技服务有限公司 | 精准测试方法、装置、设备及存储介质 |
CN114610608A (zh) * | 2022-03-03 | 2022-06-10 | 北京百度网讯科技有限公司 | 测试用例处理方法、装置、电子设备以及存储介质 |
CN114691506A (zh) * | 2022-03-30 | 2022-07-01 | 中国工商银行股份有限公司 | 压力测试方法、装置、设备、介质和程序产品 |
CN115952044A (zh) * | 2022-12-29 | 2023-04-11 | 北京润科通用技术有限公司 | 一种自动化测试方法及其装置 |
CN116594682A (zh) * | 2023-04-10 | 2023-08-15 | 中国科学院软件研究所 | 基于simd库的自动测试方法及装置 |
CN116775473A (zh) * | 2023-06-14 | 2023-09-19 | 四川大学 | 一种基于编解码框架的核电软件测试用例生成方法 |
CN116860256A (zh) * | 2023-07-11 | 2023-10-10 | 中国科学院软件研究所 | 一种面向risc-v基础c库的优化方法 |
Non-Patent Citations (2)
Title |
---|
姚远 等: "基于编译指示的向量化方法", 计算机工程, no. 12, 20 June 2012 (2012-06-20) * |
龚健 等: "基于静态分析的C++虚函数匹配算法研究", 微计算机信息, no. 27, 25 September 2010 (2010-09-25) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539469A (zh) * | 2024-01-10 | 2024-02-09 | 睿思芯科(成都)科技有限公司 | Risc-v的可视化向量编程方法、系统及相关设备 |
CN117539469B (zh) * | 2024-01-10 | 2024-03-19 | 睿思芯科(成都)科技有限公司 | Risc-v的可视化向量编程方法、系统及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117171053B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117171053B (zh) | 一种用于向量化编程的测试方法、系统及相关设备 | |
Mohammadi et al. | Sparse computation data dependence simplification for efficient compiler-generated inspectors | |
US9043775B2 (en) | Method for identifying problematic loops in an application and devices thereof | |
Nagai et al. | Random testing of C compilers targeting arithmetic optimization | |
Tian et al. | Compiling C/C++ SIMD extensions for function and loop vectorizaion on multicore-SIMD processors | |
EP2626784A1 (en) | Method and apparatus for automated MATLAB interfacing | |
CN116501378B (zh) | 一种逆向工程还原源代码的实现方法、装置和电子设备 | |
Nobre et al. | Aspect-driven mixed-precision tuning targeting gpus | |
CN117273171A (zh) | 深度学习框架适配方法、装置、计算机设备和存储介质 | |
Kalinov et al. | Using AËМ specification for automatic test suite generation for mpC parallel programming language compiler | |
Vlasenko et al. | The use of erratic behavior templates in debugging parallel programs by the automated validity verification method | |
Rao et al. | Gbtlx: A first look | |
Dutta et al. | Validation of loop parallelization and loop vectorization transformations | |
Smith et al. | A more agile approach to embedded system development | |
Giesl et al. | Computing Contraction Metrics: Comparison of Different Implementations | |
Barve et al. | Parallelism in C++ programs targeting objects | |
Moreira et al. | Verifying code generation tools for the B-method using tests: a case study | |
Wasser et al. | Modeling Non-deterministic C Code with Active Objects | |
Sallai et al. | LLVM IR-based Transformations for Software Model Checking | |
CN112463624B (zh) | 一种基于Systemverilog的CPU验证平台 | |
Liu et al. | Automated program debugging for multiple bugs based on semantic analysis | |
Brank et al. | Assessing the State of Autovectorization Support based on SVE | |
Kataev et al. | Reconstruction of Multi-dimensional Arrays in SAPFOR. | |
Norris et al. | Generating empirically optimized composed matrix kernels from MATLAB prototypes | |
Nakao et al. | Linkage of XcalableMP and Python languages for high productivity on HPC cluster system: application to graph order/degree problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |