[发明专利]代码质量评测方法、装置、设备及存储介质有效
申请号: | 202110647441.0 | 申请日: | 2021-06-10 |
公开(公告)号: | CN113254346B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 齐秀 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 姚维 |
地址: | 518027 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 质量 评测 方法 装置 设备 存储 介质 | ||
1.一种代码质量评测方法,其特征在于,所述代码质量评测方法包括:
获取待评测的目标代码,并提取所述目标代码中的多个类对象;
分别提取各所述类对象的类名、属性及操作函数并进行调用关系解析,得到各所述类对象之间的调用关系;
根据所述调用关系,构建所述目标代码中各类对象的第一调用关系图,并对所述第一调用关系图进行矩阵化处理,得到第一关系特征矩阵;
获取多个预置代码设计模式分别对应的多个第二调用关系图,并分别对各所述第二调用关系图进行矩阵化处理,得到多个第二关系特征矩阵;
根据所述第一关系特征矩阵及各所述第二关系特征矩阵,计算所述目标代码分别与各所述代码设计模式之间的相似度矩阵;
根据所述相似度矩阵,分别计算所述目标代码在对应代码设计模式下的代码质量分值。
2.根据权利要求1所述的代码质量评测方法,其特征在于,所述获取待评测的目标代码,并提取所述目标代码中的多个类对象包括:
获取待评测的目标代码;
根据所述目标代码的语言类型,识别所述目标代码中的类标识符;
根据所述类标识符,提取所述目标代码中的多个类对象,其中,所述类对象的类型包括通用类及接口类。
3.根据权利要求2所述的代码质量评测方法,其特征在于,所述分别提取各所述类对象的类名、属性及操作函数并进行调用关系解析,得到各所述类对象之间的调用关系包括:
根据各所述类对象的类型,提取各所述通用类的类名、属性及操作函数,以及提取各所述接口类的类名及操作函数;
解析各所述类对象的类名、属性及操作函数,构建各所述类对象之间的调用关系,其中,所述调用关系包括依赖、关联、聚合、组合、泛化及实现中的一种或多种。
4.根据权利要求1所述的代码质量评测方法,其特征在于,所述根据所述调用关系,构建所述目标代码中各类对象的第一调用关系图,并对所述第一调用关系图进行矩阵化处理,得到第一关系特征矩阵包括:
根据所述调用关系,构建所述目标代码中各类对象的第一调用关系图;
根据所述第一调用关系图中各所述类对象之间的调用关系,生成各所述调用关系对应的第一调用关系矩阵;
随机定义各所述第一调用关系矩阵中不重复的第一根值,并分别计算各所述第一调用关系矩阵中各矩阵元素值对应的第一更新值,得到多个新的第一调用关系矩阵;
依次对所述第一调用关系图中各所述类对象之间的调用关系对应的新的第一调用关系矩阵进行点乘合并计算,得到所述目标代码对应的第一关系特征矩阵。
5.根据权利要求4所述的代码质量评测方法,其特征在于,所述获取多个预置代码设计模式分别对应的多个第二调用关系图,并分别对各所述第二调用关系图进行矩阵化处理,得到多个第二关系特征矩阵包括:
获取多个预置代码设计模式分别对应的多个第二调用关系图,并识别各所述第二调用关系图中各类对象之间的调用关系及对应的所述第一调用关系矩阵;
分别计算各所述第一调用关系矩阵中各矩阵元素值对应的第二更新值,得到多个新的第二调用关系矩阵;
依次对所述第二调用关系图中各所述类对象之间的调用关系对应的新的第二调用关系矩阵进行点乘合并计算,得到各所述代码设计模式对应的第二关系特征矩阵。
6.根据权利要求1所述的代码质量评测方法,其特征在于,所述根据所述第一关系特征矩阵及各所述第二关系特征矩阵,计算所述目标代码分别与各所述代码设计模式之间的相似度矩阵包括:
分别判断所述第一关系特征矩阵的第一矩阵维度与各所述第二关系特征矩阵的第二矩阵维度是否不同;
若是,则将矩阵维度不同的第一关系特征矩阵与第二关系特征矩阵映射到同一矩阵维度,得到第一目标关系特征矩阵和第二目标关系特征矩阵;
分别计算所述第一目标关系特征矩阵与所述第二目标关系特征矩阵中同一位置的矩阵元素之间的欧几里得距离,得到所述目标代码分别与各所述代码设计模式之间的相似度矩阵。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110647441.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于需求导入模型的瓦楞纸结构设计方法与系统
- 下一篇:一种两节管升降立柱