[发明专利]代码质量评价方法及系统在审
申请号: | 201811644109.3 | 申请日: | 2018-12-29 |
公开(公告)号: | CN111382059A | 公开(公告)日: | 2020-07-07 |
发明(设计)人: | 黄威;张杰;李雪;张娜;蔡学文;王晓敏 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 质量 评价 方法 系统 | ||
1.一种代码质量评价方法,其特征在于,该方法应用于代码质量评价系统,所述代码质量评价系统包括红线扫描模块、重复率检测模块及复杂度检测模块;该方法包括:
通过所述红线扫描模块对待评价代码进行漏洞检测,得到所述待评价代码的漏洞检测信息;
通过所述重复率检测模块对所述待评价代码进行重复率检测,得到所述待评价代码的重复率检测信息;
通过所述复杂度检测模块对所述待评价代码进行复杂度检测,得到所述待评价代码的复杂度检测信息;
通过质量评价模块,基于根据所述红线扫描模块得到的所述漏洞检测信息、根据所述重复率检测模块得到的所述重复率检测信息以及根据所述复杂度检测模块得到所述复杂度检测信息,确定所述待评价代码的评价结果信息。
2.根据权利要求1所述的方法,其特征在于,所述通过所述重复率检测模块对所述待评价代码进行重复率检测,得到所述待评价代码的重复率检测信息,包括:
基于相应的相似度判定算法确定所述待评价代码中重复使用代码的行数;
基于所述待评价代码中重复使用代码的行数与所述待评价代码的代码总行数确定所述待评价代码的代码重复率检测信息。
3.根据权利要求1所述的方法,其特征在于,所述通过所述复杂度检测模块对所述待评价代码进行复杂度检测,得到所述待评价代码的复杂度检测信息,包括:
确定所述待评价代码对应的各个代码文件的函数复杂度;
基于确定的各个代码文件的函数复杂度确定所述待评价代码的代码复杂度;
基于所述待评价代码的代码复杂度确定所述待评价代码的代码复杂度检测信息。
4.根据权利要求1所述的方法,其特征在于,所述通过质量评价模块,基于根据所述红线扫描模块得到的所述漏洞检测信息、根据所述重复率检测模块得到的所述重复率检测信息以及根据所述复杂度检测模块得到所述复杂度检测信息,确定所述待评价代码的评价结果信息,包括:
基于所述漏洞检测信息、所述重复率检测信息及所述复杂度检测信息分别对应的预定的权重值进行加权计算,得到所述待评价代码的评价结果信息。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
根据通过所述红线扫描模块得到的所述漏洞检测信息确定所述待评价代码的处理流程信息。
6.根据权利要求1所述的方法,其特征在于,所述漏洞检测信息包括以下至少一项:安全漏洞的数量、红线漏洞的数量、风格漏洞的数量及普通漏洞的数量;该方法还包括:
如果所述安全漏洞的数量与所述红线漏洞的数量满足其各自的预设的阈值条件,则允许所述待评价代码进行下一步处理流程,所述下一步处理流程包括对所述待评价代码进行测试;
如果所述安全漏洞的数量与所述红线漏洞的数量不满足预设的阈值条件,则将所述待评价代码退回并反馈建议修改的反馈信息。
7.根据权利要求1所述的方法,其特征在于,该方法还包括:
根据通过所述质量评价模块得到的所述评价结果信息确定所述待评价代码的处理流程。
8.一种代码质量评价系统,其特征在于,该系统包括:
红线扫描模块,用于对待评价代码进行漏洞检测,得到所述待评价代码的漏洞检测信息;
重复率检测模块,用于对所述待评价代码进行重复率检测,得到所述待评价代码的重复率检测信息;
复杂度检测模块,用于对所述待评价代码进行复杂度检测,得到所述待评价代码的复杂度检测信息;
质量评价模块,用于基于根据所述红线扫描模块得到的所述漏洞检测信息、根据所述重复率检测模块得到的所述重复率检测信息以及根据所述复杂度检测模块得到所述复杂度检测信息,确定所述待评价代码的评价结果信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811644109.3/1.html,转载请声明来源钻瓜专利网。