[发明专利]检测方法、装置、设备和存储介质有效
申请号: | 201911326418.0 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111104121B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 杨志谦 | 申请(专利权)人: | 抖音视界有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 徐晨影 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 方法 装置 设备 存储 介质 | ||
本申请涉及检测方法、装置、设备和存储介质。该方法包括:确定出待检测指令;获取待检测指令所对应的至少一条目标执行路径;确定出待检测指令所对应的目标执行路径中所包含的针对目标对象的操作指令集,其中,操作指令集包含有针对目标对象的至少一个控制操作;判断目标执行路径所包括的操作指令集中是否存在针对目标对象的满足预设规则的关闭操作;基于判断结果确定待检测指令的处理流程是否合规。如此,提高检测效,以及检测结果的准确率。
技术领域
本申请涉及计算机领域,特别是涉及一种检测方法、装置、设备和存储介质。
背景技术
项目中存在大量的操作资源、文件、流数据等对象,在项目开发过程中会打开这些对象,在操作结束后关闭相应对象,在java中,这些对象往往是Closeable接口的实现类,称之为Closeable对象。但实际开发过程中,可能存在开发人员忘记关闭操作,或者未考虑到极端情况,而导致即便退出使用之后,仍未执行Closeable对象的关闭操作代码,因此,导致资源未释放(比如文件流),引起资源泄露或者使程序进入到其他非正常状态。
当前,为解决上述问题,通常会在程序运行期间对运行时环境进行hook,并检测到执行开启操作后,定时检查是否存在关闭操作,若未检测到关闭操作,则进行问题上报。现有检测过程需要人工测试,测试用例难以覆盖全部场景;而且,该检测过程在运行期间进行,检查是否进行关闭操作的时机不好控制,检查过程滞后。
发明内容
为解决上述问题,本发明提出了一种检测方法、装置、设备和存储介质,能够从指令角度对针对目标对象的控制操作进行判断,以判断是否存在针对目标对象的且满足预设规则的关闭操作,该检测过程无需人工测试,也无需考虑检测时机,在程序编译期间进行,因此,在无需设置测试用例的前提下,能够提高检测效,以及检测结果的准确率。
第一方面,本申请实施例提供一种检测方法,包括:
确定出待检测指令;
获取待检测指令所对应的至少一条目标执行路径;
确定出待检测指令所对应的目标执行路径中所包含的针对目标对象的操作指令集,其中,操作指令集包含有针对目标对象的至少一个控制操作;
判断目标执行路径所包括的操作指令集中是否存在针对目标对象的满足预设规则的关闭操作;
基于判断结果确定待检测指令的处理流程是否合规。
这里,由于本申请方案是针对待检测指令,以及待检测指令所需运行的目标执行路径进行检测的,所以能够确保检测流程最大化涵盖所有场景,而且,该检测流程无需设置测试用例,因此,与现有通过测试用例来检测的方式相比,本申请实施例无需人工测试,提高了检测效率,同时,为提高检测结果的准确性奠定了基础。
而且,又由于本申请方案是针对待检测指令的目标执行路径进行的,所以,检测过程可以在程序编译期间进行,无需在运行环境下进行,因此,解决了现有检测方式检测滞后的问题,同时,由于检测过程可以在编译期间进行,所以为快速解决问题,提升程序稳定性奠定了基础,进而为避免由于检测滞后未及时解决问题而导致代码资源泄露奠定了基础。
在一具体实施例中,所述判断目标执行路径所包括的操作指令集中是否存在针对目标对象的满足预设规则的关闭操作,包括:
判断目标执行路径所包含的操作指令集中存在针对目标对象的开启操作后是否存在与开启操作相对应的满足预设规则的关闭操作。
这里,为最大化提升检测效率,在目标执行路径的检测过程中,检测针对目标对象的开启操作之后的操作步骤,进而为最大化提高检测效率奠定了基础,同时,为快速解决问题,提升程序稳定性奠定了基础,也为避免由于检测滞后未及时解决问题而导致代码资源泄露奠定了基础。
在一具体实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于抖音视界有限公司,未经抖音视界有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911326418.0/2.html,转载请声明来源钻瓜专利网。