【技术实现步骤摘要】
一种软件检测方法、装置、设备及计算机可读存储介质
[0001]本申请涉及计算机应用
,涉及但不限于一种软件检测方法、装置、设备及计算机可读存储介质。
技术介绍
[0002]随着信息技术的普及,软件的复杂度越来越高,尤其是在互联网时代,面向亿级用户的软件系统,其复杂度相当之高,每个核心的业务操作都会涉及到复杂而庞大的逻辑分支,如何能检测出每一条逻辑分支,对于保障软件的质量或者排查软件的故障,都有非常大的帮助。相关技术中,在软件开发阶段,软件开发人员通过在业务逻辑分支中增加打印日志功能;在软件运行时,将各个逻辑分支的日志打印,形成日志;再通过查找日志分析业务逻辑分支,排查软件故障。
[0003]相关技术为了检测逻辑分支需要加入大量日志打印代码,每个逻辑分支还需要进行上下游节点的关联,因此需要处理很多信息,并在日志中打印,导致开发成本较高;另外当出现线上故障的时候,如果是排查逻辑问题,则需要通过日志进行大量的查找,然后进行分析得到某个用户请求的执行路径,通过执行路径分析确定该请求是否执行了错误的逻辑分支,导致逻辑问题 ...
【技术保护点】
【技术特征摘要】
1.一种软件检测方法,其特征在于,所述方法包括:获取基于待检测软件的代码建立的逻辑分析树,所述逻辑分析树包括至少一个逻辑分支;获取所述逻辑分支的分支标识和目标节点,所述目标节点为所述逻辑分支的一个节点;根据所述目标节点对应代码块的位置,在所述代码中插入埋点,并基于所述埋点进行信息采集,得到采集到的信息;基于所述分支标识和所述采集到的信息对所述逻辑分支进行检测,得到检测结果。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取待检测软件的代码,并根据预设关键词确定所述代码中的逻辑判断语句;根据所述逻辑判断语句对所述代码进行划分,得到代码块;将所述代码块作为节点,基于所述节点和所述逻辑判断语句建立逻辑分析树。3.根据权利要求2所述的方法,其特征在于,所述将所述代码块作为节点,基于所述节点和所述逻辑判断语句建立逻辑分析树,包括:将位于当前逻辑判断语句之前的代码块确定为所述当前逻辑判断语句的父节点;将位于所述当前逻辑判断语句之后的代码块确定为所述父节点的子节点;基于各个逻辑判断语句确定的父节点和子节点建立逻辑分析树。4.根据权利要求1所述的方法,其特征在于,所述获取所述逻辑分支的分支标识和目标节点,包括:对所述逻辑分支的各个节点进行编码,得到各个节点编码,其中,各个节点编码满足父节点编码为子节点编码的前缀;将所述各个节点编码进行组合处理,得到所述逻辑分支的分支标识;将所述逻辑分支中不存在子节点的节点确定为目标节点。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标节点对应代码块的位置,在所述代码中插入埋点,并基于所述埋点进行信息采集,得到采集到的信息,包括:在所述目标节点对应代码块之后,插入用于记录处理结果的程序代码;确定所述程序代码为埋点;根据所述逻辑分支中的各个节点执行所述逻辑分支对应的代码,得到各个节点的执行结果;基于所述埋点...
【专利技术属性】
技术研发人员:陈志良,申作军,
申请(专利权)人:北京京东尚科信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。