[发明专利]代码质量评价方法和代码质量评价装置在审
申请号: | 202210148361.5 | 申请日: | 2022-02-17 |
公开(公告)号: | CN114489760A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 魏亚东;沈志钢;刘博;张建荣 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 陈洪艳;黄健 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 质量 评价 方法 装置 | ||
本申请提供了一种代码质量评价方法和代码质量评价装置,涉及人工智能领域,可以提高代码质量评价的准确性。该方法可以包括:获取待评价代码的代码质量问题数据,代码质量问题数据是基于代码检查工具对待评价代码进行检查得到的;对代码质量问题数据进行预处理,得到多个维度的指标数据;将多个维度的指标数据输入至代码质量评价模型,得到待评价代码的评价结果,其中,代码质量评价模型是基于历史代码的多个维度的指标数据和历史代码的评价结果作为样本训练得到的。
技术领域
本申请涉及人工智能领域,尤其涉及一种代码质量评价方法和代码质量评价质量。
背景技术
代码是按照一定的程序设计语言规范编写的、由字符和符号等组成的文本。随着程序项目开发的大型化和复杂化,一个程序项目往往由大量的代码构成,同时,程序项目代码的编写通常是由多个程序开发人员共同协作完成,存在很多影响代码质量的因素,如不同程序开发人员编写的代码的功能的衔接问题、编写风格的统一问题等。如何对编写的代码的质量进行评价成为了一个问题。
现有代码的质量评价是基于问题诊断和缺陷检测等维度的评价,例如AppScan和Fortify等安全代码审计工具,可以检测代码中的缺陷数量和风险等级,通过缺陷数量和风险等级评价代码的质量,会存在评价维度单一、评价不准确的问题。
发明内容
本申请提供了一种代码质量评价方法和代码质量评价装置,可以提高代码质量评价的准确性。
第一方面,本申请提供了一种代码质量评价方法,该方法包括:获取待评价代码的代码质量问题数据,代码质量问题数据是基于代码检查工具对待评价代码进行检查得到的;对代码质量问题数据进行预处理,得到多个维度的指标数据;将多个维度的指标数据输入至代码质量评价模型,得到待评价代码的评价结果,其中,代码质量评价模型是基于历史代码的多个维度的指标数据和历史代码的评价结果作为样本训练得到的。
本申请提供的代码质量评价方法,通过对代码质量问题数据进行预处理,得到多个维度的指标数据,相比直接利用代码质量问题数据进行评价,可以从更多的维度对代码质量进行评价,可以提高代码质量评价的准确性,同时,基于代码质量评价模型对多个维度的指标数据进行分析,得到评价结果,相比于人工进行评价,可以提高测试效率,也可以避免人工的评价误差,可以提高代码质量评价的准确性。
结合第一方面,在第一方面的某些实现方式中,上述多个维度包括:可靠性、安全性、可维护性、代码重复度以及可测性;其中,可靠性的指标数据包括有效代码行数、问题个数以及技术债比率,安全性的指标数据包括有效代码行数、漏洞个数以及技术债比率,可维护性的指标数据包括有效代码行数、成熟代码坏味道个数、注释行占比、平均认知复杂度以及技术债比率,代码重复度的指标数据包括重复代码行占比和重复代码块个数,可测性的指标数据包括有效代码行数、分支覆盖率以及平均方法圈复杂度。
结合第一方面,在第一方面的某些实现方式中,上述评价结果是基于多个维度的指标数据、多个维度的指标数据对应的权重、多个维度的指标数据对应的放大因子、以及多个维度中每个维度的偏置量得到的。
结合第一方面,在第一方面的某些实现方式中,上述待评价代码为X,代码质量评价模型通过下列公式表示:其中,f(X)表示待评价代码X的评价结果,xi,j表示待评价代码X的第i个维度的第j个指标数据,ωi,j为第i个维度的第j个指标数据的权重,λi,j第i个维度的第j个指标数据的放大因子,bi为第i个维度的偏置量,为映射函数。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:统计提交待评价代码的账户提交的多个代码的评价结果;在多个代码的评价结果中不满足质量评价条件的评价结果的数量累积超出第一预设阈值的情况下,发送预警信息,预警信息用于提示管理员账户存在问题,质量评价条件为评价结果大于或等于第二预设阈值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210148361.5/2.html,转载请声明来源钻瓜专利网。