【技术实现步骤摘要】
移植程序检测方法、装置、电子设备及计算机可读存储介质
本专利技术涉及程序检测
,特别是涉及一种移植程序检测方法、装置、电子设备及计算机可读存储介质。
技术介绍
出于实际需求,发开人员可能需要将运行于一个环境中的程序,移植到另一个环境中运行。例如,程序A为运行于CPU(CentralProcessingUnit,中央处理器)平台环境中的程序,受限制于CPU平台的性能,可能需要将程序A移植至FPGA(Field-ProgrammableGateArray,现场可编程门阵列)平台环境中运行。但是,由于两个环境存在一定差异,因此程序移植到新环境中运行后,可能无法实现部分或所有功能。相关技术中,可以由开发人员对所移植的程序的代码进行人工检测,查找功能无法实现的原因,但是该查找过程需要具有开发经验的人员来完成,并且可能花费较多时间。导致程序移植的效率较低。
技术实现思路
本专利技术实施例的目的在于提供一种移植程序检测方法、装置、电子设备及计算机可读存储介质,以实现提高程序移植的效率。具体技术方案如下:< ...
【技术保护点】
1.一种移植程序检测方法,其特征在于,所述方法包括:/n解析移植程序的代码,得到所述移植程序所包括的待检测函数的函数信息;/n按照被依赖的待检测函数优先于依赖该被依赖的待检测函数的顺序,依次针对每个待检测函数,根据该待检测函数的所述函数信息生成该待检测函数的测试用例;/n利用该待检测函数在所述移植程序的原平台环境下执行所述测试用例,得到第一测试结果,并利用该待检测函数在所述移植程序的目的平台环境下执行所述测试用例,得到第二测试结果;/n比对所述第一测试结果和所述第二测试结果是否相同;/n如果所述第一测试结果和所述第二测试结果不同,确定该待检测函数异常。/n
【技术特征摘要】
1.一种移植程序检测方法,其特征在于,所述方法包括:
解析移植程序的代码,得到所述移植程序所包括的待检测函数的函数信息;
按照被依赖的待检测函数优先于依赖该被依赖的待检测函数的顺序,依次针对每个待检测函数,根据该待检测函数的所述函数信息生成该待检测函数的测试用例;
利用该待检测函数在所述移植程序的原平台环境下执行所述测试用例,得到第一测试结果,并利用该待检测函数在所述移植程序的目的平台环境下执行所述测试用例,得到第二测试结果;
比对所述第一测试结果和所述第二测试结果是否相同;
如果所述第一测试结果和所述第二测试结果不同,确定该待检测函数异常。
2.根据权利要求1所述的方法,其特征在于,在所述解析移植程序的代码,得到所述待检测程序所包括的待检测函数的函数信息之后,所述方法还包括:
展示所述函数信息;
获取针对所述函数信息输入的修改指令;
根据所述修改指令,更改所述函数信息,得到更改后的函数信息;
所述根据所述函数信息生成所述待检测函数的测试用例,包括:
根据所述更改后的函数信息生成所述待检测函数的测试用例。
3.根据权利要求1所述的方法,其特征在于,所述解析移植程序的代码,得到所述待检测程序所包括的待检测函数的函数信息,包括:
遍历移植程序的代码,获取所述移植程序中所包括的待检测函数的以下一个或多个信息,作为所述待检测函数的中间信息:函数名称、函数形参、函数在所述代码中的起始行的行号、函数在所述代码中的结束行的行号、返回类型;
遍历所述移植程序的代码,确定所述待检测函数和其他函数间的调用关系,作为所述待检测函数的结构信息;
将所述待检测函数的中间信息和结构信息作为所述函数信息。
4.根据权利要求1所述的方法,其特征在于,所述移植程序的原平台为CPU平台,所述利用该待检测函数在所述移植程序的原平台环境下执行所述测试用例,得到第一测试结果,包括:
根据所述函数信息,生成所述待检测函数在CPU平台下的源程序文件;
编译所述源程序文件,生成CPU平台下的第一测试程序;
调用所述第一测试程序执行所述测试用例,得到第一测试结果。
5.根据权利要求1所述的方法,其特征在于,所述移植程序的目的平台为现场可编程门逻辑阵列FPGA平台,所述利用该待检测函数在所述移植程序的目的平台环境下执行所述测试用例,得到第二测试结果,包括:
根据所述移植程序的代码,封装所述待检测函数,得到命令文件;
编译所述命令文件,生成FPGA平台下的第二测试程序;
调用所述第二测试程序执行所述测试用例,得到第二测试结果。
6.根据权利要求1所述的方法,其特征在于,在所述按照被依赖的待检测函数优先于依赖该被依赖的待检测函数的顺序,依次针对每个待检测函数,根据该待检测函数的所述函数信息生成该待检测函数的测试用例之前,所述方法还包括:
基于各待检测函数间的依赖关系,构建树状结构,所述树状结构中每个节点对应一个待检测函数,并且每个节点对应的待检测函数,依赖于该节点的父节点所对应的待检测函数;
从所述树状结构的根节点开始,遍历所述树状结构的每个节点;
按照所对应的节点在遍历所述树状结构时被访问的顺序,排列各个待检测函数,得到待检测函数序列;
所述按照被依赖的待检测函数优先于依赖该被依赖的待检测函数的顺序,依次针对每个待检测函数,根据该待检测函数的所述函数信息生成该待检测函数的测试用例,包括:
依次针对所述待检测函数序列中的每个待检测函数,根据该待检测函数的所述函数信息生成该待检测函数的测试用例。
7.根据权利要求1所述的方法,其特征在于,所述第一测试结果以第一文本文件的形式表示,所述第二测试结果以第二文本文件的形式表示;
所述比对所述第一测试结果和所述第二测试结果是否相同,包括:
对所述第一文本文件和所述第二文本文件中的文本内容进行比对;
如果所述第一文本文件和所述第二文本文件中的文本内容相同,确定所述第一测试结果和所述...
【专利技术属性】
技术研发人员:钱文秀,董峰,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。