• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 8
    • 下载费用:30 金币  

    重庆时时彩开奖号码跟投注网站一样: 一种代码分析方法及系统.pdf

    关 键 词:
    一种 代码 分析 方法 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201010118401.9

    申请日:

    2010.03.03

    公开号:

    CN102193859A

    公开日:

    2011.09.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||专利申请权的转移IPC(主分类):G06F 11/36变更事项:申请人变更前权利人:腾讯科技(深圳)有限公司变更后权利人:深圳市世纪光速信息技术有限公司变更事项:地址变更前权利人:518044 广东省深圳市福田区振兴路赛格科技园2栋东403室变更后权利人:518057 广东省深圳市南山区粤海街道科技中一路腾讯大厦16层登记生效日:20131101|||实质审查的生效IPC(主分类):G06F 11/36申请日:20100303|||公开
    IPC分类号: G06F11/36 主分类号: G06F11/36
    申请人: 腾讯科技(深圳)有限公司
    发明人: 白广元
    地址: 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室
    优先权:
    专利代理机构: 深圳中一专利商标事务所 44237 代理人: 贾振勇
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201010118401.9

    授权公告号:

    102193859B|||||||||

    法律状态公告日:

    2014.09.10|||2013.11.20|||2011.11.23|||2011.09.21

    法律状态类型:

    授权|||专利申请权、专利权的转移|||实质审查的生效|||公开

    摘要

    本发明适用于计算机软件领域,提供了一种代码分析方法及系统,所述方法包括下述步骤:收集代码信息,建立索引库;根据配置的检查规则,查询所述索引库,获取查询结果;对所述查询结果进行代码分析,输出代码分析结果。本发明搜集代码,建立索引,针对代码查询结果进行分析,实现了代码读取与代码分析相分离,极大提升了代码分析的效率和灵活度,能够实现企业级代码的分析管理,代码收集与索引可以通过搜索引擎实现。

    权利要求书

    1.一种代码分析方法,其特征在于,所述方法包括下述步骤:收集代码信息,建立索引库;根据配置的检查规则,查询所述索引库,获取查询结果;对所述查询结果进行代码分析,输出代码分析结果。2.如权利要求1所述的方法,其特征在于,所述收集代码信息,建立索引库的步骤具体为:抓取程序中的代码信息;对抓取的代码进行处理,建立索引库。3.如权利要求1或2所述的方法,其特征在于,所述收集代码信息,建立索引库通过搜索引擎实现。4.如权利要求3所述的方法,其特征在于,所述搜索引擎为全文搜索引擎。5.一种代码分析系统,其特征在于,所述系统包括:索引单元,用于收集代码信息,建立索引库,并提供查询接口;代码分析器,用于根据配置的检查规则,通过所述查询接口查询所述索引库,获取查询结果,对查询结果进行代码分析,输出代码分析结果;以及代码分析展示单元,用于输出显示所述代码分析器输出的代码分析结果。6.如权利要求5所述的系统,其特征在于,所述索引单元为搜索引擎。7.如权利要求6所述的系统,其特征在于,所述代码搜索引擎为全文搜索引擎。8.如权利要求5、6或7所述的系统,其特征在于,所述代码分析器包括:代码查询逻辑,用于根据配置的检查规则,生成并向所述代码搜索引擎提供的查询接口输入查询条件,接收所述代码搜索引擎返回的查询结果;以及代码分析逻辑,用于对所述查询结果进行代码分析,输出代码分析结果。

    说明书

    一种代码分析方法及系统

    技术领域

    本发明属于计算机软件领域,尤其涉及一种代码分析方法及系统。

    背景技术

    代码分析又称代码扫描或代码检查,主要检查源程序代码对标准的遵循程度、可读性高低、代码逻辑表达的正确性、代码结构的合理性等方面。通过代码分析可以发现程序中违背程序编写标准的问题,以及程序中不安全、不明确和模糊的部分,找出程序中重复或不可移植部分。代码分析包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

    目前,实现代码分析的工具有很多,采用的技术方法大同小异,如图1所示,一般分为读取程序、分析器和报表展示三个部分,大部分工具都可以自定义检查规则,主要差别集中在检查规则的制定和分析器算法的不同。

    现有的代码分析工具存在如下缺点:

    (1)分析效率低、耗时长、无法胜任企业级的代码管理;

    (2)代码读取和分析耦合在一起,当检查规则改变后,代码读取和代码分析工作需要重新做;

    (3)如分析的代码发生变动,只能再次从头执行分析程序,因此难以实现代码频繁变动时的分析;

    (4)更适用单个或少量代码文件的统计分析,面对庞大的代码库,无法做文件与文件之间的对比分析,例如函数调用情况、重复代码率、代码重用情况、??榛智榭龅?。

    发明内容

    本发明实施例的目的在于提供一种代码分析方法,旨在解决现有的代码分析效率低、灵活度差、不适应企业级代码分析的问题。

    本发明实施例是这样实现的,一种代码分析方法,所述方法包括下述步骤:

    收集代码信息,建立索引库;

    根据配置的检查规则,查询所述索引库,获取查询结果;

    对所述查询结果进行代码分析,输出代码分析结果。

    本发明实施例的另一目的在于提供一种代码分析系统,所述系统包括:

    索引单元,用于收集代码信息,建立索引库,并提供查询接口;

    代码分析器,用于根据配置的检查规则,通过所述查询接口查询所述索引库,获取查询结果,对查询结果进行代码分析,输出代码分析结果;以及

    代码分析展示单元,用于输出显示所述代码分析器输出的代码分析结果。

    本发明实施例搜集代码,建立索引,针对代码查询结果进行分析,实现了代码读取与代码分析相分离,极大提升了代码分析的效率和灵活度,能够实现企业级代码的分析管理,代码收集与索引可以通过搜索引擎实现。

    附图说明

    图1是现有技术提供的代码分析的实现原理图;

    图2是本发明实施例提供的代码分析方法的实现流程图;

    图3是本发明实施例提供的代码分析系统的结构图。

    具体实施方式

    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

    本发明实施例对代码进行搜集处理,建立索引库,利用高速查询接口进行查询,并对查询结果进行代码分析,能够大大提高代码分析的效率和灵活度,实现企业级代码的分析管理。

    图2示出了本发明实施例提供的代码分析方法的实现流程,详述如下:

    在步骤S101中,收集代码信息,建立索引库;

    作为本发明的一个实施例,利用搜索引擎收集代码信息,建立索引库。搜索引擎可以利用现有的搜索引擎,也可以自行开发。搜索引擎可以根据一定的策略搜集代码信息,对代码信息进行组织和处理后,输出处理后的代码信息,为后端代码分析提供检索服务。

    本发明实施例中的搜索引擎为全文搜索引擎,提取各个软件程序中的代码信息,建立索引数据库,并能检索与查询条件相匹配的记录,按一定的排列顺序返回查询结果,具体过程如下:

    1、抓取程序中的代码信息

    搜索引擎有相应的代码抓取程序(Web?Crawler),可以从庞大的企业级程序代码库中连续地抓取各个程序中的代码信息。

    2、处理抓取的代码,建立索引库

    搜索引擎抓到代码信息后,要做大量的预处理工作,最重要的就是提取代码信息中的关键词,建立索引库。

    作为本发明的一个实施例,搜索引擎可以方便的监视目标程序的代码变动情况,即使代码发生变化,只需要重新读取和分析变化的代码部分,因此可以适应代码频繁变动情况下的代码分析。

    在步骤S102中,根据配置的检查规则,查询索引库,获取查询结果;

    在本发明实施例中,代码分析时不直接对代码进行分析,而是基于搜索引擎提供的查询接口,根据配置的检查规则输入查询条件,查询索引库,对搜索引擎返回的查询结果进行统计分析,可以极大地提升统计和对比分析的效率。

    在步骤S103中,对查询结果进行分析,输出分析结果。

    在本发明实施例中,根据搜索引擎的查询结果,能够实现对庞大的源代码库中代码之间的对比分析,例如找出整个项目或企业内某个函数被调用情况等,还能够对代码作高层的逻辑分析,例如重复代码率、代码重用情况、??榛智榭龅?。

    本发明实施例通过将搜索引擎和代码分析器两种成熟的技术进行结合,利用搜索引擎收集文本信息的能力来收集代码信息,保存代码中的必要信息,按关键字创建索引,这样就具备了对代码库的全文搜索能力。代码分析时不直接对代码进行分析,而是基于搜索引擎提供的查询接口,对查询结果进行统计分析,可以极大地提升统计和对比分析的效率,例如可以先检索出包含某个函数定义的代码文件,再对这些代码文件进行对比分析,判断这些函数内部是否也相同,以方便快捷地找出重复代码。

    图3示出了本发明实施例提供的代码分析系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。

    索引单元1收集代码信息,建立索引库,并提供查询接口。

    作为本发明的一个实施例,以搜索引擎作为索引单元,搜索引擎可以利用现有的搜索引擎,也可以自行开发。

    搜索器11发现和搜集程序中的代码信息。

    索引器12处理搜索器11所搜索到的代码信息,从中抽取出索引项,按关键字创建索引。

    索引库13存储索引器12创建的索引,例如索引表。

    检索器14向代码分析器2提供查询接口,根据代码分析器2提供的查询条件查询索引库13,输出查询结果。

    代码分析器2根据配置的检查规则,通过索引单元1提供的查询接口,查询索引库,获取查询结果,对查询结果进行代码分析,输出代码分析结果。

    在本发明实施例中,代码分析器2代码分析时不直接对代码进行分析,而是基于索引单元1提供的查询接口,根据配置的检查规则输入查询条件,查询索引库,对索引单元1返回的查询结果进行统计分析,可以极大地提升统计和对比分析的效率。

    作为本发明的一个实施例,代码查询逻辑21根据配置的检查规则,生成并向代码搜索引擎1提供的查询接口输入查询条件,接收代码搜索引擎1返回的查询结果。

    代码分析逻辑22对查询结果进行代码分析,输出代码分析结果。

    在本发明实施例中,代码分析逻辑22根据搜索引擎的查询结果,能够实现对庞大的源代码库中代码之间的对比分析,例如找出整个项目或企业内某个函数被调用情况等,还能够对代码作高层的逻辑分析,例如重复代码率、代码重用情况、??榛智榭龅?。

    代码分析展示单元3输出显示代码分析器2输出的代码分析结果。

    本发明实施例搜集代码,建立索引,针对代码查询结果进行分析,实现了代码读取与代码分析相分离,极大提升了代码分析的效率和灵活度,能够实现企业级代码的分析管理,代码收集与索引可以通过搜索引擎实现。

    具体而言,本发明实施例具有以下优点:

    (1)可以分析庞大的代码库,可以实现企业级代码的分析管理;

    (2)将代码读取和代码分析分离,如果检查规则更改,只需重新做代码分析。同时,基于高速的搜索查询接口,使得代码分析高效、迅速;

    (3)可以方便监视目标代码的变动情况,即使代码发生变化,只需要重新读取和分析变化部分,可以实现代码频繁变动时的分析;

    (4)扩大了代码分析的适用范围,尤其适用于代码数量巨大的大型项目,或者对整个企业全部代码的分析和监控,还可以实现跨项目的代码比对分析。

    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的?;し段е?。

    关于本文
    本文标题:一种代码分析方法及系统.pdf
    链接地址://www.4mum.com.cn/p-5875311.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 3d定跨最准确方法 安卓 计划软件 网赌输了240万走投无路 重庆时时到底怎样 澳洲幸运8开奖记录 北京pk龙虎有什么技巧 彩无敌快五免费计划 体彩每天停售时间 重庆时时分析手机软件 河北时时现场开奖结果查询 江西新时时组三全选 pk10人工计划网页版 云南时时历史开奖号码百度票 重庆福彩欢乐生肖玩法 北京时时计划软件 pk10两期在线人工计划