代码的环路检测方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:41253165 阅读:8 留言:0更新日期:2024-05-11 09:14
本申请提供了一种代码的环路检测方法、装置、设备、存储介质及程序产品;方法包括:获取应用程序的待检测代码,并对待检测代码进行函数扫描,得到待检测代码对应的函数扫描结果;以函数扫描结果中的功能函数为节点、以调用关系为边,构建待检测代码对应的函数图结构;获取函数图结构中各节点的度,并基于各节点的度,对函数图结构进行剪枝,得到目标图结构,目标图结构中各节点的度均大于零;对目标图结构进行环路检测,得到待检测代码中的函数调用环路,函数调用环路中的起始函数和结束函数为相同的功能函数。通过本申请,能够有效减少环路检测的运算复杂度,有效提高环路检测的效率。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种代码的环路检测方法、装置、设备、存储介质及程序产品


技术介绍

1、互联网特别是移动互联网的快速发展,种类繁多的应用程序应运而生,各式各样的应用程序通过相应的代码实现其自身功能,代码的质量直接决定了应用程序的稳定性和可靠性。代码中通常通过多个功能函数实现其自身功能,各功能函数之间往往存在着调用关系,这样代码中有可能形成函数调用环路,而函数调用环路会引发应用程序流程阻断,内存飙升等现象发生,影响应用程序实现其功能。

2、在相关技术中,通常是通过模糊测试的方式对代码进行环路检测,这样往往会编写大量的测试用例进行环路检测,导致环路检测的运算复杂度高,环路检测效率极低。


技术实现思路

1、本申请实施例提供一种代码的环路检测方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效减少环路检测的运算复杂度,有效提高环路检测的效率。

2、本申请实施例的技术方案是这样实现的:

3、本申请实施例提供一种代码的环路检测方法,包括:p>

4、获取应本文档来自技高网...

【技术保护点】

1.一种代码的环路检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对所述待检测代码进行函数扫描,得到所述待检测代码对应的函数扫描结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述抽象语法树,确定所述待检测代码对应的函数扫描结果,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于所述第一检测结果,确定所述待检测代码对应的函数扫描结果,包括:

5.根据权利要求4所述的方法,其特征在于,所述抽象语法树的节点还包括:对应所述功能函数中全局变量的第三类型节点,所述第一类型节点是所述第三类型...

【技术特征摘要】

1.一种代码的环路检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对所述待检测代码进行函数扫描,得到所述待检测代码对应的函数扫描结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述抽象语法树,确定所述待检测代码对应的函数扫描结果,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于所述第一检测结果,确定所述待检测代码对应的函数扫描结果,包括:

5.根据权利要求4所述的方法,其特征在于,所述抽象语法树的节点还包括:对应所述功能函数中全局变量的第三类型节点,所述第一类型节点是所述第三类型节点的父节点,所述第二类型节点是所述第三类型节点的兄弟节点;

6.根据权利要求4至5任一项所述的方法,其特征在于,所述基于所述功能函数和所述其他功能函数,确定所述函数扫描结果,包括:

7.根据权利要求1所述的方法,其特征在于,所述基于各所述节点的度,对所述函数图结构进行剪枝,得到目标图结构,包括:

8.根据权利要求1所述的方法,其特征在...

【专利技术属性】
技术研发人员:吕军梁本志王立刚赵昕
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1