一种信息的处理方法技术

技术编号:39662930 阅读:6 留言:0更新日期:2023-12-11 18:25
本公开是关于一种信息的处理方法

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


[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是根据一示例性实施例示出的一种信息的处理装置的结构示意图;
[0028]图7是根据一示例性实施例示出的另一种信息的处理方法的示意图;
[0029]图8是根据一示例性实施例示出的一种终端设备的框图

具体实施方式
[0030]这里将详细地对示例性实施例进行说明,其示例表示在附图中

...

【技术保护点】

【技术特征摘要】
1.
一种信息的处理方法,其特征在于,所述方法包括:获取待处理源代码;对所述待处理源代码进行静态分析,得到所述待处理源代码中的函数信息;根据所述函数信息确定所述待处理源代码中各个函数的风险信息;其中,所述风险信息,用于表示所述函数对所述待处理源代码的影响程度
。2.
根据权利要求1所述的方法,其特征在于,所述函数信息至少包括:各个所述函数的函数自身信息和各个所述函数之间的调用关系;所述根据所述函数信息确定所述待处理源代码中各个函数的风险信息,包括:根据所述函数自身信息确定所述函数的第一风险系数;根据所述调用关系确定所述函数的第二风险系数;其中,所述第二风险系数,表示所述函数被执行的概率;根据所述调用关系确定所述函数的第三风险系数;其中,所述第三风险系数,表示对调用所述函数的第一函数的影响程度;根据所述第一风险系数

所述第二风险系数和
/
或所述第三风险系数,确定所述风险信息
。3.
根据权利要求2所述的方法,其特征在于,所述根据所述函数自身信息确定所述函数的第一风险系数,包括:至少根据所述函数的代码行数

传入参数的数量

传出参数的数量和返回值的数量中的一种或多种,确定所述第一风险系数;其中,所述第一风险系数与所述代码行数

所述传入参数的数量

所述传出参数的数量和所述返回值的数量正相关
。4.
根据权利要求2所述的方法,其特征在于,所述根据所述调用关系确定所述函数的第二风险系数,包括:确定所述函数在所述调用关系中的重要程度;根据所述重要程度确定所述第二风险系数;其中,所述第二风险系数与所述重要程度正相关
。5.
根据权利要求2或4所述的方法,其特征在于,所述根据所述调用关系确定所述函数的第二风险系数,包括:确定从起始节点到预设的目标节点的各...

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

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

1