[发明专利]用于分布式静态检测系统的Java文件依赖性分析方法及模块有效
申请号: | 201810869157.6 | 申请日: | 2018-08-02 |
公开(公告)号: | CN109033843B | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 韩承锋;唐云善;邹旎彬;朱春雷;王强;陈皓立 | 申请(专利权)人: | 南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网江苏省电力有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/75;G06F8/41 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 朱妃;董建林 |
地址: | 211106 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 分布式 静态 检测 系统 java 文件 依赖性 分析 方法 模块 | ||
本发明公开了一种用于分布式静态检测系统的Java文件依赖性分析方法及模块,其方法包括以下步骤:针对程序包中的所有文件进行信息处理;读取所有文件中的一个Java源代码文件;生成该文件的抽象语法树;对该文件所有语句进行依赖性分析,找出该文件依赖的其他文件;记录该文件与其他文件的依赖关系;判断所有文件是否已依赖性分析完毕;根据所有文件的依赖关系,生成该程序包的依赖性关系图;根据该依赖性关系图进行分析,得到所有不可再分的独立文件集合;根据分布式检测系统对程序检测包的要求,对所有不可再分的独立文件集合进行合并;对程序包进行解耦拆分,得到程序包解耦拆分的结果。本发明的有益效果:实现单任务多节点多进程检测。
技术领域
本发明涉及一种文件依赖性分析方法,特别是涉及一种用于分布式静态检测系统的Java文件依赖性分析方法及模块,属于计算机软件静态检测技术。
背景技术
随着软件行业不断发展,软件项目也日益庞大,要使复杂的软件项目在运行中不出错,就要对软件项目质量进行严格把关。计算机软件归根结底都是程序代码,如果程序代码中存在安全漏洞,那其他的安全策略则无从谈起,所以计算机软件代码安全是整个计算机系统安全的基石。源代码的安全漏洞检测则是保证软件安全最强有力的措施之一。源代码安全漏洞检测主要分为动态分析方法和静态分析方法。动态分析方法需要运行被测程序,其检测依赖外部环境和测试用例,具有一定的不确定性。静态分析方法主要对源代码进行分析,能发现较多的潜在安全漏洞,能避免动态检测的不足。
关于静态检测技术,例如现阶段已有的开源工具诸如Findbugs、PMD等,或者商用软件Fortify SCA、Klocwork,都是针对单个程序单机运行的。现阶段的分布式检测系统,仍然都是单个检测任务部署到单个节点,使用检测工具单进程进行检测,所以单个任务并不支持多节点多进程的分布式部署检测。现阶段的分布式检测系统,存在的主要问题是:单一任务单进程运行检测,导致检测消耗的时间随着任务规模增大而增加,系统级程序检测时长甚至可长达数十小时。
如图1所示的基于依赖性分析的分布式静态检测系统就是为了解决现阶段分布式检测系统存在的问题而提出的。该系统针对单任务进行程序代码分包后再进行多节点部署的分布式检测,达到缩短程序检测时间目的。而系统的前端分析模块——依赖性分析模块的分析结果的准确性是保证缩短检测时间却不影响检测结果的重要前提。
因此,本发明就是为了实现图1所示的分布式静态检测系统提到的系统的前端分析模块,建立基于Java抽象语法树上的文件依赖性分析模型,使之能够适用于单任务多节点运行的分布式静态检测系统。
发明内容
本发明的主要目的在于,克服现有技术中的不足,提供一种用于分布式静态检测系统的Java文件依赖性分析方法及模块,克服目前分布式检测系统中已使用的检测方法仍然是检测任务单任务单节点单进程运行所存在的不足,提供针对任务包解耦再分包的方法,实现单任务多节点多进程运行,具有产业上的利用价值。
为了达到上述目的,本发明所采用的技术方案是:
一种用于分布式静态检测系统的Java文件依赖性分析方法,包括以下步骤:
1)针对程序包中的所有文件进行信息处理,记录Java源代码文件为待分析对象;
2)读取所有文件中的一个Java源代码文件;
3)生成该文件的抽象语法树;
4)基于该文件的抽象语法树,对该文件所有语句进行依赖性分析,找出该文件依赖的其他文件;
5)记录该文件与其他文件的依赖关系;
其中,该文件与其他文件的依赖关系使用有向图记录;
6)判断程序包中的所有文件是否已依赖性分析完毕;
若已依赖性分析完毕、则执行下一步,若否、则跳转执行步骤2);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网江苏省电力有限公司,未经南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网江苏省电力有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810869157.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理器
- 下一篇:基于端口识别的自动化漏洞探测系统及方法