[发明专利]危险路径的并行获取方法及装置在审
| 申请号: | 201711435666.X | 申请日: | 2017-12-26 |
| 公开(公告)号: | CN108170434A | 公开(公告)日: | 2018-06-15 |
| 发明(设计)人: | 衷璐洁;朱敬茹;周丽娟 | 申请(专利权)人: | 首都师范大学 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨泽;刘芳 |
| 地址: | 100048 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 控制流图 引用 并行获取 并行 预处理 并行路径 顶点信息 路径结构 准确度 检测 预设 判定 保证 | ||
本发明提供的危险路径的并行获取方法及装置,通过采用将获取的控制流图进行预处理,获得二叉控制流图;对二叉控制流图进行并行路径二分编码,获得二叉控制流图中各顶点的路径二分编码;根据预设的多个引用点和每个引用点对应的多个定值点在二叉控制流图上的顶点信息,确定各引用点和每个引用点对应的多个定值点的路径二分编码;根据每个引用点对应的多个定值点的路径二分编码,并行确定每个引用点的目标定值点,利用目标定值点确定目标定值点对应的引用点所在的路径是否为危险路径的技术方案,从而通过对控制流图中路径结构关系的简化以及对多个引用点所在路径是否为危险路径的并行判定,进而在保证检测准确度的情况下,有效的提高了检测效率。
技术领域
本发明涉及计算机技术,尤其涉及一种危险路径的并行获取方法及装置。
背景技术
在软件程序开发过程中,对软件中的危险路径的检测是保证软件程序安全可靠的必不可少的重要环节。定值引用错误是危险路径检测中容易出现一种危害严重的错误类型,通常表现为危险的定值到达引用点继而引发错误,例如空指针引用、缓冲区溢出、除零错、未赋值引用等。
现有的对危险路径的检测中,需要针对于每一条路径逐条进行路径分析,但是,当程序中的路径较多,路径之间的结构关系较为复杂时,容易产生路径爆炸的问题,这将使得检测时间增长,检测效率受到影响。
发明内容
为了解决现有技术中存在的由于路径结构复杂,数量较多而导致的检测效率低的问题,本发明提供了一种危险路径的并行获取方法及装置。
一方面,本发明提供了一种危险路径的并行获取方法,包括:
将获取的控制流图进行预处理,获得二叉控制流图;
对所述二叉控制流图进行并行路径二分编码,获得所述二叉控制流图中各顶点的路径二分编码;
根据预设的多个引用点和每个引用点对应的多个定值点在所述二叉控制流图上的顶点信息,并确定各引用点和每个引用点对应的多个定值点的路径二分编码;
根据各引用点和每个引用点对应的多个定值点的路径二分编码,并行确定每个引用点的目标定值点,并利用所述目标定值点确定所述目标定值点对应的引用点所在的路径是否为危险路径;其中,所述目标定值点是从引用点对应的多个定值点中确定的。
在其中一种可选的实施方式中,所述根据各引用点和每个引用点对应的多个定值点的路径二分编码,并行确定每个引用点的目标定值点,包括:
为每一个引用点分配一个线程,根据所述多个定值点的二分编码,选取距离引用点最近定值点作为目标定值点。
在其中一种可选的实施方式中,所述利用所述目标定值点确定所述目标定值点对应的引用点所在的路径是否为危险路径,包括:
确定所述目标定值点的安全属性;
若所述目标定值点的安全属性为不安全,则将所述目标定值点所对应的引用点所在的路径,作为危险路径进行提取并存储在危险路径集合中。
在其中一种可选的实施方式中,所述对所述二叉控制流图进行并行路径二分编码,获得所述二叉控制流图中各顶点的路径二分编码,包括:
对所述二叉控制流图进行分块,并行对每一分块的二叉控制流图进行路径二分编码,得到每一分块的二叉控制流图中的各顶点的路径二分编码,获得的全部顶点的路径二分编码则为二叉控制流图中各顶点的路径二分编码。
在其中一种可选的实施方式中,所述将获取的控制流图进行预处理,获得二叉控制流图,包括:
依次对所述控制流图进行去环处理、数字化处理以及规约处理,以获得所述二叉控制流图。
另一方面,本发明还提供了一种危险路径的并行获取装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于首都师范大学,未经首都师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711435666.X/2.html,转载请声明来源钻瓜专利网。





