[发明专利]代码质量评价方法及系统在审
申请号: | 201811644109.3 | 申请日: | 2018-12-29 |
公开(公告)号: | CN111382059A | 公开(公告)日: | 2020-07-07 |
发明(设计)人: | 黄威;张杰;李雪;张娜;蔡学文;王晓敏 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 质量 评价 方法 系统 | ||
本申请提供了一种代码质量评价方法及系统,应用于信息处理技术领域,其中该方法包括:通过质量评价系统的质量评价模块,基于根据红线扫描模块得到的漏洞检测信息、根据重复率检测模块得到的重复率检测信息以及根据复杂度检测模块得到复杂度检测信息,确定待评价代码的评价结果信息。即根据自动生成的待评价代码的漏洞检测信息、重复率检测信息及复杂度检测信息,自动确定待评价代码的评价结果信息,从而实现了待评价代码的质量的自动评价,提升了待评价代码质量评价的效率,此外,自动确定待评价代码的评价结果信息,从而降低了待评价代码的质量评价的人工成本,且降低人工评价的主观影响因素,提高代码质量评价的准确性。
技术领域
本申请涉及信息处理技术领域,具体而言,本申请涉及一种代码质量评价方法及系统。
背景技术
代码是按照一定的程序设计语言规范编写的、由字符、符号等组成的文本。一个程序项目往往由大量的代码构成,尤其是随着程序项目开发的大型化、复杂化,相应程序项目的代码的编写通常是由多个程序开发人员共同协作完成的,使得影响代码质量的因素更多,如不同程序开发人员编写的代码的功能的衔接问题、编写风格的统一问题等。如何对编写的代码的质量进行评价成为了一个问题。
目前,对代码的质量评价是通过人工的方式进行的,即由相关评价人员对相应的代码进行逐行阅读,确定并标记相应影响代码质量评价的因素,然后,对标记的影响代码质量评价因素进行统计分析,得到相应代码的质量评价结果。然而,根据现有的通过人工确定代码的质量评价结果信息的方式需要耗费较高的人力成本和时间成本,导致相应代码的质量评价的效率极低。此外,通常情况下项目程序包含大量的代码,需要多个相关人员才能完成代码质量的评价。因此,现有的通过人工确定代码的质量评价结果信息的方式,存在效率低、人工成本高的问题。
发明内容
本申请提供了一种代码质量评价方法及系统,用于提升代码质量评价的效率,以及降低代码质量评价的人工成本,本申请采用的技术方案如下:
第一方面,提供了一种代码质量评价方法,该方法应用于代码质量评价系统,代码质量评价系统包括红线扫描模块、重复率检测模块及复杂度检测模块;该方法包括:
通过红线扫描模块对待评价代码进行漏洞检测,得到待评价代码的漏洞检测信息;
通过重复率检测模块对待评价代码进行重复率检测,得到待评价代码的重复率检测信息;
通过复杂度检测模块对待评价代码进行复杂度检测,得到待评价代码的复杂度检测信息;
通过质量评价模块,基于根据红线扫描模块得到的漏洞检测信息、根据重复率检测模块得到的重复率检测信息以及根据复杂度检测模块得到复杂度检测信息,确定待评价代码的评价结果信息。
进一步地,通过重复率检测模块对待评价代码进行重复率检测,得到待评价代码的重复率检测信息,包括:
基于相应的相似度判定算法确定待评价代码中重复使用代码的行数;
基于待评价代码中重复使用代码的行数与待评价代码的代码总行数确定待评价代码的代码重复率检测信息。
进一步地,通过复杂度检测模块对待评价代码进行复杂度检测,得到待评价代码的复杂度检测信息,包括:
确定待评价代码对应的各个代码文件的函数复杂度;
基于确定的各个代码文件的函数复杂度确定待评价代码的代码复杂度;
基于待评价代码的代码复杂度确定待评价代码的代码复杂度检测信息。
进一步地,通过质量评价模块,基于根据红线扫描模块得到的漏洞检测信息、根据重复率检测模块得到的重复率检测信息以及根据复杂度检测模块得到复杂度检测信息,确定待评价代码的评价结果信息,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811644109.3/2.html,转载请声明来源钻瓜专利网。