[发明专利]移植程序检测方法、装置、电子设备及计算机可读存储介质在审
申请号: | 202010049678.4 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111240987A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 钱文秀;董峰 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 李欣;丁芸 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 移植 程序 检测 方法 装置 电子设备 计算机 可读 存储 介质 | ||
本发明实施例提供了一种移植程序检测方法、装置、电子设备及计算机可读存储介质。其中,方法包括:解析移植程序的代码,得到所述移植程序所包括的待检测函数的函数信息;按照被依赖的待检测函数优先于依赖该被依赖的待检测函数的顺序,依次针对每个待检测函数,根据该待检测函数的所述函数信息生成该待检测函数的测试用例;利用该待检测函数在所述移植程序的原平台环境下执行所述测试用例,得到第一测试结果,并利用该待检测函数在所述移植程序的目的平台环境下执行所述测试用例,得到第二测试结果;比对所述第一测试结果和所述第二测试结果是否相同;如果所述第一测试结果和所述第二测试结果不同,确定该待检测函数异常。可以提高程序移植效率。
技术领域
本发明涉及程序检测技术领域,特别是涉及一种移植程序检测方法、装置、电子设备及计算机可读存储介质。
背景技术
出于实际需求,发开人员可能需要将运行于一个环境中的程序,移植到另一个环境中运行。例如,程序A为运行于CPU(Central Processing Unit,中央处理器)平台环境中的程序,受限制于CPU平台的性能,可能需要将程序A移植至FPGA(Field-ProgrammableGate Array,现场可编程门阵列)平台环境中运行。
但是,由于两个环境存在一定差异,因此程序移植到新环境中运行后,可能无法实现部分或所有功能。相关技术中,可以由开发人员对所移植的程序的代码进行人工检测,查找功能无法实现的原因,但是该查找过程需要具有开发经验的人员来完成,并且可能花费较多时间。导致程序移植的效率较低。
发明内容
本发明实施例的目的在于提供一种移植程序检测方法、装置、电子设备及计算机可读存储介质,以实现提高程序移植的效率。具体技术方案如下:
在本发明的第一方面,提供了一种移植程序检测方法,所述方法包括:
解析移植程序的代码,得到所述移植程序所包括的待检测函数的函数信息;
按照被依赖的待检测函数优先于依赖该被依赖的待检测函数的顺序,依次针对每个待检测函数,根据该待检测函数的所述函数信息生成该待检测函数的测试用例;
利用该待检测函数在所述移植程序的原平台环境下执行所述测试用例,得到第一测试结果,并利用该待检测函数在所述移植程序的目的平台环境下执行所述测试用例,得到第二测试结果;
比对所述第一测试结果和所述第二测试结果是否相同;
如果所述第一测试结果和所述第二测试结果不同,确定该待检测函数异常。
在一种可能的实施例中,在所述解析移植程序的代码,得到所述待检测程序所包括的待检测函数的函数信息之后,所述方法还包括:
展示所述函数信息;
获取针对所述函数信息输入的修改指令;
根据所述修改指令,更改所述函数信息,得到更改后的函数信息;
所述根据所述函数信息生成所述待检测函数的测试用例,包括:
根据所述更改后的函数信息生成所述待检测函数的测试用例。
在一种可能的实施例中,所述解析移植程序的代码,得到所述待检测程序所包括的待检测函数的函数信息,包括:
遍历移植程序的代码,获取所述移植程序中所包括的待检测函数的以下一个或多个信息,作为所述待检测函数的中间信息:函数名称、函数形参、函数在所述代码中的起始行的行号、函数在所述代码中的结束行的行号、返回类型;
遍历所述移植程序的代码,确定所述待检测函数和其他函数间的调用关系,作为所述待检测函数的结构信息;
将所述待检测函数的中间信息和结构信息作为所述函数信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010049678.4/2.html,转载请声明来源钻瓜专利网。