一种信息的处理方法技术

技术编号:39746004 阅读:7 留言:0更新日期:2023-12-17 23:44
本公开是关于一种信息的处理方法

【技术实现步骤摘要】
一种信息的处理方法、装置、电子设备及存储介质


[0001]本公开涉及信息处理领域,尤其涉及一种信息的处理方法

装置

电子设备及存储介质


技术介绍

[0002]随着软件技术的发展,电子设备中的应用程序或者操作系统中的部分功能模块都具有对应的源代码,通过对源代码的编译转换成二进制语言便于设备中处理器的执行

随着应用程序的更新,在每次更新的过程中,对应的源代码都会发生变化,例如,升级或者修复漏洞等

[0003]在对源代码进行修改的工作量通常都比较大,修改后的源代码还需要进行测试或者其他处理,由于源代码的内容较多,信息量比较大,需要直观的确定修改过的部分


技术实现思路

[0004]本公开提供一种信息的处理方法

装置

电子设备及存储介质

[0005]本公开实施例的第一方面,提供一种信息的处理方法,所述方法包括:获取第一代码和第二代码;其中,所述第一代码和所述第二代码为预设程序对应的代码,所述第二代码为所述第一代码发生变化后的代码;确定所述第一代码中第一函数的第一调用关系;确定第二函数;其中,所述第二函数为所述第二代码与所述第一代码存在差异的代码所在的函数;根据所述第二函数调整所述第一调用关系,得到第二调用关系;其中,所述第二调用关系至少包括:所述第二函数以及与所述第二函数存在调用关系的函数;根据所述第二调用关系,生成目标调用关系图

>[0006]在一个实施例中,所述方法还包括:根据所述第一调用关系生成第一调用关系图;其中,所述第一调用关系图中包括各个所述第一函数的函数标识;所述方法还包括:根据所述第二函数的函数标识,从所述第一调用关系图中删除与所述第二函数不存在调用关系的函数的标识,得到目标调用关系;根据所述目标调用关系生成所述目标调用关系图

[0007]在一个实施例中,所述根据所述第二调用关系,生成目标调用关系图,包括:删除所述第二调用关系中与所述第二函数不存在调用关系的函数,得到目标调用关系;根据所述目标调用关系生成所述目标调用关系图;其中,与所述第二函数不存在调用关系的函数,包括:不被所述第二函数调用的函数,或者,不调用所述第二函数的函数

[0008]在一个实施例中,确定所述第一代码中第一函数的第一调用关系,包括:对所述第一代码进行语法树分析,确定所述第一代码中的多个所述第一函数以及各个所述第一函数之间的调用关系

[0009]本公开实施例的第二方面,提供一种信息的处理装置,所述装置包括:获取模块,用于获取第一代码和第二代码;其中,所述第一代码和所述第二代码为预设程序对应的代码,所述第二代码为所述第一代码发生变化后的代码;第一确定模块,用于确定所述第一代码中第一函数的第一调用关系;第二确定模块,用于确定第二函数;其中,所述第二函数为
所述第二代码与所述第一代码存在差异的代码所在的函数;调整模块,用于根据所述第二函数调整所述第一调用关系,得到第二调用关系;其中,所述第二调用关系至少包括:所述第二函数以及与所述第二函数存在调用关系的函数;生成模块,用于根据所述第二调用关系,生成目标调用关系图

[0010]在一个实施例中,所述装置还包括:第一生成模块,用于根据所述第一调用关系生成第一调用关系图;其中,所述第一调用关系图中包括各个所述第一函数的函数标识;调整模块,还用于根据所述第二函数的函数标识,从所述第一调用关系图中删除与所述第二函数不存在调用关系的函数的标识,得到目标调用关系;所述生成模块,还用于根据所述目标调用关系,得到所述目标调用关系图

[0011]在一个实施例中,所述生成模块包括:删除单元,用于删除所述第二调用关系中与所述第二函数不存在调用关系的函数,得到目标调用关系;第一生成单元,用于根据所述目标调用关系生成所述目标调用关系图;其中,与所述第二函数不存在调用关系的函数,包括:不被所述第二函数调用的函数,或者,不调用所述第二函数的函数

[0012]在一个实施例中,第一确定模块,还用于对所述第一代码进行语法树分析,确定所述第一代码中的多个所述第一函数以及各个所述第一函数之间的调用关系

[0013]本公开实施例的第三方面,提供一种电子设备,包括:
[0014]处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
[0015]处理器用于运行所述可执行指令时,所述可执行指令执行上述任一实施例所述的方法

[0016]本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一实施例所述的方法

[0017]本公开的实施例提供的技术方案可以包括以下有益效果:
[0018]本公开实施例通过对第一源代码进行分析得到第一源代码中各个第一函数的第一调用关系,根据第一源代码和第二源代码确定出发生变化的第二函数,然后根据第二函数调整第一调用关系

由于函数发生变化后,函数的调用关系可能会发生变化,将根据第一函数确定的第一调用关系中发生变化的函数对应的部分进行调整,在第一调用关系的基础上得到函数变化后的第二调用关系,第二调用关系至少包括:第二函数以及与第二函数存在调用关系的函数

在第二调用关系的基础上生成目标调用关系图,由于第二调用关系中包括发生变化的第二函数及其调用关系,所以目标调用关系图中展示的也是第二函数以及第二函数的调用关系

[0019]通过该方案得到的目标调用关系图可以简单和直观的显示出发生变化的函数以及发生变化的函数的调用关系,从而可以便于相关人员确定哪些函数发了变化,以及与发生变化的函数相关的函数,例如具有调用关系的函数

还可以便于对发生变化的函数以及与发送变化的函数相关的函数进行测试,不需要对整个源代码进行测试,减少了测试量,提高了测试效率

[0020]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开

附图说明
[0021]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理

[0022]图1是根据一示例性实施例示出的一种信息的处理方法的流程示意图;
[0023]图2是根据一示例性实施例示出的一种生成目标调用关系图的示意图;
[0024]图3是根据一示例性实施例示出的另一种生成目标调用关系图的示意图;
[0025]图4是根据一示例性实施例示出的一种信息处理装置的示意图;
[0026]图5是根据一示例性实施例示出的另一种信息处理方法的示意图;
[0027]图6是根据一示例性实施例示出的一种本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种信息的处理方法,其特征在于,所述方法包括:获取第一代码和第二代码;其中,所述第一代码和所述第二代码为预设程序对应的代码,所述第二代码为所述第一代码发生变化后的代码;确定所述第一代码中第一函数的第一调用关系;确定第二函数;其中,所述第二函数为所述第二代码与所述第一代码存在差异的代码所在的函数;根据所述第二函数调整所述第一调用关系,得到第二调用关系;其中,所述第二调用关系至少包括:所述第二函数以及与所述第二函数存在调用关系的函数;根据所述第二调用关系,生成目标调用关系图
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述第一调用关系生成第一调用关系图;其中,所述第一调用关系图中包括各个所述第一函数的函数标识;所述根据所述方法还包括:根据所述第二函数的函数标识,从所述第一调用关系图中删除与所述第二函数不存在调用关系的函数的标识,得到目标调用关系;根据所述目标调用关系生成所述目标调用关系图
。3.
根据权利要求1所述的方法,其特征在于,所述根据所述第二调用关系,生成目标调用关系图,包括:删除所述第二调用关系中与所述第二函数不存在调用关系的函数,得到目标调用关系;根据所述目标调用关系生成所述目标调用关系图;其中,与所述第二函数不存在调用关系的函数,包括:不被所述第二函数调用的函数,或者,不调用所述第二函数的函数
。4.
根据权利要求1所述的方法,其特征在于,确定所述第一代码中第一函数的第一调用关系,包括:对所述第一代码进行语法树分析,确定所述第一代码中的多个所述第一函数以及各个所述第一函数之间的调用关系
。5.
一种信息的处理装置,其特征在于,所述装置包括:获取模块,用于获取第一代码和第二代码;其中,所述第一代码和所述第二代码为预设程序对应的代码,所述第二代码为所述第一代码发生变化后的代码;第一确定模块,用于确定所述第一代码中第一函数的第一调用关系;...

【专利技术属性】
技术研发人员:夏春梅杨勇
申请(专利权)人:北京快乐茄信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1