[发明专利]一种判定语句取值的确认方法、装置及存储介质在审
申请号: | 202011356994.2 | 申请日: | 2020-11-26 |
公开(公告)号: | CN112463607A | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 赵明 | 申请(专利权)人: | 苏州洞察云信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 李昂;张颖玲 |
地址: | 215101 江苏省苏州市吴中区木*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 判定 语句 确认 方法 装置 存储 介质 | ||
本申请公开一种判定语句取值的确认方法,包括:确认源代码包括的至少一个基本块和所述至少一个基本块对应的基本块信息;基于被执行的基本块对应的基本块信息和所述被执行的基本块被执行的次数,确认所述源代码中被执行的判定语句的取值;本申请还公开一种判定语句取值的确认装置和存储介质,通过本申请公开的判定语句取值的确认方法、装置和存储介质,可以准确地确认源代码中被执行的判定语句的取值。
技术领域
本申请涉及计算机技术领域,尤其涉及一种判定语句取值的确认方法、装置及存储介质。
背景技术
分支测试技术是一种性价比高的测试方法,被大多数软件开发商所采用。相关技术中,黑盒测试技术无法确认判定语句取值;白盒测试技术可以直接对源代码进行插桩来获取判定语句的取值情况,但在字节码插桩情况下,白盒测试工具对字节码进行分析,会导致源码信息缺失,无法获得程序的控制流信息,不能对每个判定语句的取值情况进行准确的计算。因此,如何准确地确认判定语句的取值,是需要解决的技术问题。
发明内容
本申请实施例提供一种判定语句取值的确认方法、装置及存储介质,可以准确地确认判定语句的取值。
本申请实施例的技术方案是这样实现的:
一方面,本申请提供一种判定语句取值的确认方法,包括:
确认源代码包括的至少一个基本块和所述至少一个基本块对应的基本块信息;
基于被执行的基本块对应的基本块信息和所述被执行的基本块被执行的次数,确认所述源代码中被执行的判定语句的取值。
上述方案中,所述基于被执行的基本块对应的基本块信息和所述被执行的基本块被执行的次数,确认所述源代码包括的全部判定语句的取值,包括:
基于所述被执行的基本块的类型,设置至少一个插桩点;
基于所述至少一个插桩点,确认所述被执行的基本块对应的基本块信息和所述被执行的基本块被执行的次数;
基于被执行的基本块对应的基本块信息和所述被执行的基本块被执行的次数,确认所述源代码中被执行的判定语句的取值。
上述方案中,所述基于所述被执行的基本块的类型,设置至少一个插桩点,包括:
在所述基本块的类型为顺序语句块的情况下,在所述基本块包括的语句之前设置至少一个插桩点;
或者,在所述基本块的类型为判定语句块,且所述源代码中不存在所述判定语句块取真值时直接对应执行的顺序语句块的情况下,在所述基本块包括的语句之前,或者在所述基本块包括的语句之后设置至少一个插桩点;
或者,在所述基本块的类型为判定语句块,且所述源代码中不存在所述判定语块取假值时对应执行的顺序语句块的情况下,在所述基本块包括的语句之前,或者在所述基本块包括的语句之后设置至少一个插桩点。
上述方案中,所述基于被执行的基本块对应的基本块信息和所述被执行的基本块被执行的次数,确认所述源代码中被执行的判定语句的取值,包括:
在所述被执行的基本块包括判定语句块和顺序语句块,且所述源代码中所述判定语句块取值为真时对应执行的基本块中存在顺序语句块的情况下,若所述判定语句块取值为真时对应执行的顺序语句块被执行,确定所述判定语句块所包含的判定语句在执行的过程中存在第一场景;
或者,在所述被执行的基本块包括判定语句块和顺序语句块,且所述源代码中所述判定语句块取值为假时对应执行的基本块中存在顺序语句块的情况下,若所述判定语句块取值为假时对应执行的顺序语句块被执行,确定所述判定语句块所包含的判定语句在执行的过程中存在第二场景;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州洞察云信息技术有限公司,未经苏州洞察云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011356994.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动揉平设备
- 下一篇:一种基于卷积神经网络的探地雷达路基病害目标检测方法