【技术实现步骤摘要】
基于抽象解释的软件检测方法、装置、计算机设备和存储介质
本专利技术属于计算机
,尤其涉及一种基于抽象解释的软件检测方法、装置、计算机设备和存储介质。
技术介绍
抽象解释在遍历中间表示时通过近似程序语义来搜集程序信息,从而可以静态的分析程序运行时的行为,以更早的发现程序潜在的缺陷和漏洞、及时修正,避免在真实运行时出错或发生安全暴露利用。然而,由于软件规模的快速扩张,抽象解释在大规模的软件分析的应用过程中,存在性能上的限制。现有的基于抽象解释的软件检测方法在大规模的软件分析时还存在着占用存储空间过大、耗时过长的技术问题,导致分析无法在有限时间内完成或由于资源限制被迫终止,影响了软件分析的结果。
技术实现思路
本专利技术实施例的目的在于提供一种基于抽象解释的软件检测方法,旨在解决现有的基于抽象解释的软件检测方法还存在的占用存储空间过大、耗时过长,导致分析无法在有限时间内完成或由于资源限制被迫终止,影响了软件分析的结果的技术问题。本专利技术实施例是这样实现的,一种基于抽象解释的软件检测方法, ...
【技术保护点】
1.一种基于抽象解释的软件检测方法,其特征在于,包括:/n获取待检测软件的软件源代码;所述软件源代码上标注有抽象解释检测需求信息;/n根据所述抽象解释检测需求信息对所述待检测软件进行检测,得到检测结果。/n
【技术特征摘要】
1.一种基于抽象解释的软件检测方法,其特征在于,包括:
获取待检测软件的软件源代码;所述软件源代码上标注有抽象解释检测需求信息;
根据所述抽象解释检测需求信息对所述待检测软件进行检测,得到检测结果。
2.根据权利要求1所述的软件检测方法,其特征在于,所述根据所述抽象解释检测需求信息对所述待检测软件进行检测,得到检测结果的步骤,具体包括:
将所述待检测软件的软件源代码转化为以静态单赋值形式表示的软件中介码;
将所述抽象解释检测需求信息转化为以静态单赋值形式表示的检测需求中介码;
根据所述检测需求中介码对所述软件中介码进行检测分析,得到软件检测结果。
3.根据权利要求2所述的软件检测方法,其特征在于,所述根据所述检测需求中介码对所述软件中介码进行检测分析,得到软件检测结果的步骤,具体包括:
遍历所述软件中介码的所有语句,并确定存在抽象解释检测需求的目标语句;
根据所述检测需求中介码获取与所述目标语句关联的关联语句的上下文信息;
根据所述上下文信息以及所述检测需求中介码对所述软件中介码进行检测分析,得到软件检测结果。
4.根据权利要求3所述的软件检测方法,其特征在于,所述根据所述检测需求中介码获取与所述目标语句关联的关联语句的上下文信息的步骤,具体包括:
判断在所述目标语句上所述抽象解释检测需求的所需信息是否完整;
当判断所述目标语句上所述抽象解释检测需求的所需信息不完整时,根据所述检测需求中介码获取与所述目标语句关联的关联语句的上下文信息。
5.一种基于抽象解释的软件检测装置,其特征在于,包括:
软件源代码获取单元,用于获取待检测软件的软件源代码;所述软件源代码上标注有抽象解释检测需求信息;
软件检测单元,用于根据所述抽象解释检测需求信息对所述待检测软件进行检测...
【专利技术属性】
技术研发人员:李隆,朱庆,李世杰,赖建新,
申请(专利权)人:XC五香港有限公司,相持软件深圳有限公司,
类型:发明
国别省市:中国香港;81
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。