[发明专利]基于图与概率的问题代码协助定位方法、装置和存储介质在审
申请号: | 202011084186.5 | 申请日: | 2020-10-12 |
公开(公告)号: | CN112131132A | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | 张烨;贺计文 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/901;G06F16/903 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王敏 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 概率 问题 代码 协助 定位 方法 装置 存储 介质 | ||
本发明公开了一种基于图与概率的问题代码协助定位方法、装置和存储介质,涉及软件测试维护技术领域。所述方法通过将代码的函数调用关系以图的形式存储在计算机内存中,并将各函数的调用次数信息存储在图的数据结构中;然后查询问题所在的函数,将问题函数导入存储图的内存中分析调用关系;接下来根据调用次数的大小按序输出调用问题函数的关联函数。本发明方案使用图及概率的算法,依据概率计算出最可能出现问题的代码函数并对其排序后提供给使用者参考,从而有效协助工程师进行问题分析,减少了通过在函数中添加打印语句的方式进行问题查找,提高了工程师分析处理问题的效率。
技术领域
本发明实施例涉及软件测试维护技术领域,具体来说涉及一种基于图与概率的问题代码协助定位方法、装置和存储介质。
背景技术
图论以图为研究对象,是数学的一个分支。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。其中,用点代表事物,用连接两点的线表示相应的两个事物间具有这种关系。
在开发程序的过程中,除了静态分析代码的各种工具可以帮助我们检查部分代码的问题外,几乎没有工具能够协助我们分析程序在运行过程中各种隐藏的代码问题或逻辑问题。这些问题很多会在运行的过程中随机出现,有些是长时间运行,有些是在某种特定场景下运行,而根据运行错误的提示进行问题分析时,一是极大可能没有多余的线索供我们分析,二是有些问题不知道其产生的原因,所以很难复现。针对上述问题,我们现有的处理方法只能是通过在尽可能多的地方添加打印语句,然后再尝试复现来进行分析处理。
基于现有技术中存在的不足,本发明提供一种基于图与概率的问题代码协助定位方法、装置和存储介质,协助工程师进行问题分析,减少在函数中添加打印语句,提高分析处理问题的效率。
发明内容
本发明实施例提供了一种基于图与概率的问题代码协助定位方法、装置和存储介质,根据函数之间的调用关系和调用次数,快速有效的确定出现问题的函数及与其相关联的函数,协助工程师进行问题分析,提高处理效率。
为实现上述目的,本发明公开了如下技术方案:
本发明一方面提供一种基于图与概率的问题代码协助定位方法,所述方法包括以下步骤:
将代码的函数调用关系以图的形式存储在计算机内存中,并将各函数的调用次数信息存储在图的数据结构中;
查询问题所在的函数,将问题函数导入存储图的内存中分析调用关系;
根据调用次数的大小按序输出调用问题函数的关联函数。
基于上述方案,进一步的,所述将代码的函数调用关系以图的形式存储在计算机内存中,并将各函数的调用次数信息存储在图的数据结构中,包括下述步骤:
静态扫描代码,分析各个函数之间的相互调用关系及调用次数;
采用深度优先方式生成图结构,并以二维数组形式保存在计算机内存中;
将各个函数的调用次数记录在图中对应函数的节点中,并将函数名设置为图的节点属性,函数之间的调用关系及调用次数设置为图的边属性。
进一步的,所述查询问题所在的函数,将问题函数导入存储图的内存中分析调用关系,包括下述步骤:
当程序运行出现问题时,查询问题所在的函数名称;
将问题函数的名称导入存储图的内存中,遍历全图查找调用问题函数的关联函数;
将关联函数基于调用问题函数的次数进行排序。
如上所述的基于图与概率的问题代码协助定位方法,所述根据调用次数的大小按序输出调用问题函数的关联函数后,依据问题函数与关联函数之间的关系,进行问题代码的协助定位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011084186.5/2.html,转载请声明来源钻瓜专利网。