[发明专利]一种代码分析方法及系统有效
申请号: | 201010118401.9 | 申请日: | 2010-03-03 |
公开(公告)号: | CN102193859A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 白广元 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 贾振勇 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 分析 方法 系统 | ||
技术领域
本发明属于计算机软件领域,尤其涉及一种代码分析方法及系统。
背景技术
代码分析又称代码扫描或代码检查,主要检查源程序代码对标准的遵循程度、可读性高低、代码逻辑表达的正确性、代码结构的合理性等方面。通过代码分析可以发现程序中违背程序编写标准的问题,以及程序中不安全、不明确和模糊的部分,找出程序中重复或不可移植部分。代码分析包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。
目前,实现代码分析的工具有很多,采用的技术方法大同小异,如图1所示,一般分为读取程序、分析器和报表展示三个部分,大部分工具都可以自定义检查规则,主要差别集中在检查规则的制定和分析器算法的不同。
现有的代码分析工具存在如下缺点:
(1)分析效率低、耗时长、无法胜任企业级的代码管理;
(2)代码读取和分析耦合在一起,当检查规则改变后,代码读取和代码分析工作需要重新做;
(3)如分析的代码发生变动,只能再次从头执行分析程序,因此难以实现代码频繁变动时的分析;
(4)更适用单个或少量代码文件的统计分析,面对庞大的代码库,无法做文件与文件之间的对比分析,例如函数调用情况、重复代码率、代码重用情况、模块划分情况等。
发明内容
本发明实施例的目的在于提供一种代码分析方法,旨在解决现有的代码分析效率低、灵活度差、不适应企业级代码分析的问题。
本发明实施例是这样实现的,一种代码分析方法,所述方法包括下述步骤:
收集代码信息,建立索引库;
根据配置的检查规则,查询所述索引库,获取查询结果;
对所述查询结果进行代码分析,输出代码分析结果。
本发明实施例的另一目的在于提供一种代码分析系统,所述系统包括:
索引单元,用于收集代码信息,建立索引库,并提供查询接口;
代码分析器,用于根据配置的检查规则,通过所述查询接口查询所述索引库,获取查询结果,对查询结果进行代码分析,输出代码分析结果;以及
代码分析展示单元,用于输出显示所述代码分析器输出的代码分析结果。
本发明实施例搜集代码,建立索引,针对代码查询结果进行分析,实现了代码读取与代码分析相分离,极大提升了代码分析的效率和灵活度,能够实现企业级代码的分析管理,代码收集与索引可以通过搜索引擎实现。
附图说明
图1是现有技术提供的代码分析的实现原理图;
图2是本发明实施例提供的代码分析方法的实现流程图;
图3是本发明实施例提供的代码分析系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例对代码进行搜集处理,建立索引库,利用高速查询接口进行查询,并对查询结果进行代码分析,能够大大提高代码分析的效率和灵活度,实现企业级代码的分析管理。
图2示出了本发明实施例提供的代码分析方法的实现流程,详述如下:
在步骤S101中,收集代码信息,建立索引库;
作为本发明的一个实施例,利用搜索引擎收集代码信息,建立索引库。搜索引擎可以利用现有的搜索引擎,也可以自行开发。搜索引擎可以根据一定的策略搜集代码信息,对代码信息进行组织和处理后,输出处理后的代码信息,为后端代码分析提供检索服务。
本发明实施例中的搜索引擎为全文搜索引擎,提取各个软件程序中的代码信息,建立索引数据库,并能检索与查询条件相匹配的记录,按一定的排列顺序返回查询结果,具体过程如下:
1、抓取程序中的代码信息
搜索引擎有相应的代码抓取程序(Web Crawler),可以从庞大的企业级程序代码库中连续地抓取各个程序中的代码信息。
2、处理抓取的代码,建立索引库
搜索引擎抓到代码信息后,要做大量的预处理工作,最重要的就是提取代码信息中的关键词,建立索引库。
作为本发明的一个实施例,搜索引擎可以方便的监视目标程序的代码变动情况,即使代码发生变化,只需要重新读取和分析变化的代码部分,因此可以适应代码频繁变动情况下的代码分析。
在步骤S102中,根据配置的检查规则,查询索引库,获取查询结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010118401.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:缺血性组织的细胞疗法
- 下一篇:从脂肪酸资源制备燃料和溶剂的方法