[发明专利]基于缺陷模式的静态分析方法和工具在审
申请号: | 201510994119.X | 申请日: | 2015-12-25 |
公开(公告)号: | CN106919501A | 公开(公告)日: | 2017-07-04 |
发明(设计)人: | 刘磊;何沁洁;孙渊博;常青;穆森 | 申请(专利权)人: | 北京计算机技术及应用研究所;北京航天爱威电子技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国兵器工业集团公司专利中心11011 | 代理人: | 刘东升 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 缺陷 模式 静态 分析 方法 工具 | ||
技术领域
本发明涉及源代码分析领域,尤其涉及一种基于缺陷模式的静态分析方法和工具。
背景技术
当前,我国软硬件基础设施,包括处理器、操作系统、甚至关键应用软件(如数据库、应用服务器)等,大多依赖于国外技术。“棱镜门”事件深刻表明:软硬件基础平台不自主,安全防护体系便形同虚设。为响应中央军委提出“大力推进自主可控信息系统建设,摆脱信息技术受制于人的局面”的要求,国家先后发布了一系列政策文件,强力推进国产自主化建设应用。
自主可控平台采用国产龙芯、飞腾芯片架构,运行基于Linux的中标麒麟操作系统。由于Wintel环境下底层操作指令、硬件环境及系统开发环境与自主可控平台下存在较大差异。如Windows平台与Linux平台间底层操作指令的不同,Intel芯片与国产龙芯、飞腾芯片架构的不同,原来在政府、各企事业单位研制的基于Windows集成开发环境的各类应用系统,存在与Linux平台开发环境不兼容等问题,造成原有应用软件在自主可控服务器及自主可控终端无法直接运行。
在进行自主可控应用软件的迁移改造或重构工作中,已经形成的信息化建设的成果不能由于自主可控而全部丢弃,而如果因自主可控而导致信息化水平的大幅后退也是用户不能接受的,因此需要有相应的手段能够将基于Wintel环境下研制的各类信息化软件在自主可控平台上完成顺利迁移改造或快速的重建。
因此迫切需要一种源代码评估方法,用于快速评估软件系统进行自主可控平台迁移的可行性,并对迁移前的准备做出指导,实现应用系统的兼容性检查,完成对应用系统的自主可控迁移评估和指导等工 作。
发明内容
本发明一种基于缺陷模式的程序静态分析方法,包括:预编辑程序的缺陷模式;遍历文件,找到所需分析的文件;对源程序进行逐行扫描,去除无需分析的代码;进行缺陷分析,调用该缺陷模式与去除代码后的程序进行匹配,如果匹配成功,则说明该文件存在该缺陷。
根据本发明的基于缺陷模式的程序静态分析方法的一实施例,其中,遍历文件,找到所需分析的文件,包括:通过读取用户指定的源程序所在目录,获取该目录下所有文件,进行遍历,根据需要分析的问题类型对文件进行过滤。
根据本发明的基于缺陷模式的程序静态分析方法的一实施例,其中,对源程序进行逐行扫描得到的信息包括类名、所属包、引用包、数据成员及其所属类型、成员方法及其参数个数、参数类型与返回值。
根据本发明的基于缺陷模式的程序静态分析方法的一实施例,其中,该缺陷模式存储在数据库中,进行缺陷分析之前根据需要分析的文件类型、缺陷类型,从数据库中读取。
根据本发明的基于缺陷模式的程序静态分析方法的一实施例,其中,得到调用该缺陷模式与该去除代码后的程序进行匹配的结果后,按照缺陷模式,对于每个缺陷模式,汇总该缺陷模式匹配成功的文件,每个文件中该缺陷模式匹配成功的次数及其所在行数。
本发明一种基于缺陷模式的静态分析工具,其中,包括:分析引擎以及知识模式数据库模块;该知识模式数据库模块用于存储程序的缺陷模式;该分析引擎用于遍历文件,找到所需分析的文件;对源程序进行逐行扫描,去除无需分析的代码;以及从该知识模式数据库模块调用该缺陷模式并与去除代码后的程序进行匹配。
本发明的有益效果在于,本发明一种基于缺陷模式的静态分析方 法和工具,可以实现应用系统的兼容性检查,对迁移前的准备做出指导,对应用系统的自主可控迁移进行评估和指导。
附图说明
图1所示为本发明基于缺陷模式的静态分析工具的模块图;
图2所示为本发明基于缺陷模式的静态分析工具的工作流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为本发明基于缺陷模式的静态分析工具的模块图,如图1所示,分析工具2包括:分析引擎3以及知识模式数据库模块5。
参考图1,知识模式数据库模块5用于存储缺陷模式。进行缺陷分析之前需要根据需要分析的文件类型、缺陷类型,从数据库中读取。缺陷模式加载成功后,会存储为缺陷模式数据模型,用于缺陷分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所;北京航天爱威电子技术有限公司,未经北京计算机技术及应用研究所;北京航天爱威电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510994119.X/2.html,转载请声明来源钻瓜专利网。