[发明专利]一种java程序动态分析方法、设备和存储介质有效
申请号: | 201810817527.1 | 申请日: | 2018-07-24 |
公开(公告)号: | CN109308256B | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 刘正;赵继光 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫 |
地址: | 100032 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 程序 动态 分析 方法 设备 存储 介质 | ||
本申请提供一种java程序动态分析方法,包括:修改java开发包中字符串string类的预定方法;为待分析程序的传入参数赋值,所述赋值包括预埋字符串;动态执行所述待分析程序,确定被比较的两个字符串是否包含预埋字符串,响应于所述两个字符串中的一个字符串为预埋字符串,将所述两个字符串中的另一个字符串作为所述待分析程序的关键参数值。本申请提供的方法能够不进行语法和语义分析而直接进行程序的动态分析。
技术领域
本发明涉及计算机领域,具体而言,涉及一种java程序动态分析方法、设备和存储介质。
背景技术
随着软件规模的不断扩大,测试规模和工作量也相应增加,为了最大限度的减少人工成本同时提高测试效率效果,提供软件系统安全性和健壮性,自动化程序分析、自动化测试案例生成和执行等自动化测试方向是研究人员不断探索的方向。
近些年软件系统架构朝着松耦合、轻接口、重架构、重容器的方向发展,系统复杂度不断上升,一般的语法和语义分析为主的代码分析方式很难适应不断复杂的软件系统,其应用范围受到了限制。
发明内容
本发明实施方式提供一种java程序动态分析方法,自动获取待分析程序中的关键参数值及程序调用的资源情况,从而为测试案例自动生成、程序正确性检查、程序质量和漏洞检测、覆盖度分析等提供基础数据,避免传输的语法和语义分析为主的代码分析方式,因此对较为复杂的软件软件,易用性更好。
第一方面,本发明实施方式提供一种java程序动态分析方法,其特征在于,包括:修改java开发包中字符串string类的预定方法;为待分析程序的传入参数赋值,所述赋值包括预埋字符串;动态执行所述待分析程序,确定被比较的两个字符串是否包含预埋字符串,响应于所述两个字符串中的一个字符串为预埋字符串,将所述两个字符串中的另一个字符串作为所述待分析程序的关键参数值。
第二方面,本发明实施方式提供一种计算机设备,包括存储器和处理器,其中,存储器,存储有计算机指令;处理器,配置为运行所述计算机指令以使所述计算机设备执行第一方面所述的方法。
第三方面,本发明实施方式提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被存储器执行时实现第一方面所述的方法。
附图说明
图1示出了根据本发明实施方式的java程序动态分析方法的流程示意图。
图2示出了根据本发明实施例的测试案例。
图3示出了根据本发明实施例的代码片段截图。
图4示出了根据本发明实施例的代码片段截图。
图5示出了根据本发明实施例的代码片段截图。
图6示出了根据本发明实施例的计算机设备的结构示意图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。
参见图1,图1示出了根据本发明实施方式的java程序动态分析方法的流程示意图,该方法可包括:步骤S101、步骤S102和步骤S103,接下来结合具体的实施例对上述步骤进行说明。
步骤S101,修改java开发包中字符串string类的预定方法。
在本发明的实施例中,根据分析需要对java开发包中的字符串string类的源代码,例如,string类的equals方法对应的源代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810817527.1/2.html,转载请声明来源钻瓜专利网。