公共安全标准网
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111628195.0 (22)申请日 2021.12.28 (71)申请人 以萨技术股份有限公司 地址 266427 山东省青岛市黄岛区灵山 卫 街道办事处灵岩路7 7号 (72)发明人 李文昊 李凡平 石柱国  (74)专利代理 机构 济南圣达知识产权代理有限 公司 372 21 代理人 朱忠范 (51)Int.Cl. G06F 8/72(2018.01) G06F 16/35(2019.01) G06F 40/194(2020.01) G06K 9/62(2022.01) (54)发明名称 一种基于组合聚类的包层次上的代码重构 方法及系统 (57)摘要 本发明属于代码 重构领域, 提供了一种基于 组合聚类的包层次上的代码 重构方法及系统, 该 方法包括: 获取待重构 的代码数据; 从待重构的 代码数据中构建代码模块的实体属性矩阵; 基于 实体属性矩 阵计算实体间的相似度得到实体相 似度矩阵; 根据实体相似度矩阵, 采用密度聚类 DBSCAN算法对实体进行聚类得到实体聚类分组; 对每个实体聚类分组分别进行层次聚类得到聚 类树状图; 基于聚类树状图分析结果并切分出代 码重构的分组结果。 权利要求书2页 说明书5页 附图1页 CN 114327608 A 2022.04.12 CN 114327608 A 1.一种基于组合聚类的包层次上的代码重构方法, 其特 征在于, 包括如下步骤: 获取待重构的代码数据; 从待重构的代码数据中构建代码模块的实体属性矩阵; 基于实体属性矩阵计算实体间的相似度得到实体相似度矩阵; 根据实体相似度矩阵, 采用密度聚类算法对实体进行聚类得到实体聚类分组; 对每个实体聚类分组分别进行层次聚类得到聚类树状图; 基于聚类树状图分析 结果并切分出代码重构的分组结果。 2.如权利要求1所述的一种基于组合 聚类的包层次上的代码重构方法, 其特征在于, 所 述代码数据中的类 被选为实体, 实体的特 征作为属性。 3.如权利要求1所述的一种基于组合 聚类的包层次上的代码重构方法, 其特征在于, 所 述实体属性矩阵采用只包含0和1的向量来表示 实体, 其中 向量的每一 维代表实体的一个属 性, 属性值可由如下公式计算得到: 式中, v(atti,entj)表示实体j的属性i的值; atti∈entjoratti→entj表示属性i代表的 方法属于实体j代 表的类或被实体j代 表的类所调用。 4.如权利要求1所述的一种基于组合 聚类的包层次上的代码重构方法, 其特征在于, 实 体间的相似度矩阵用来表示实体间的联系紧密度, 所述实体相似度矩阵计算公式为: 式中, |X∩Y|表示实体 X与实体Y属性值都为1的属性个 数, |Ai|表示第i个实体属性值为 1的属性个数, 表示程序中所有实体属性 值为1的属性个数的总和。 5.如权利要求1所述的一种基于组合 聚类的包层次上的代码重构方法, 其特征在于, 采 用密度聚类DBS CAN算法对实体进行聚类得到实体聚类 分组的过程包括: 将实体相似度 矩阵 作为输入, 设置好超参数MinPts的值, 使用绘制k ‑距离曲线法来获得Eps的值, 使用DBSCAN 算法进行运 算, 得到实体分组结果。 6.如权利要求1所述的一种基于组合 聚类的包层次上的代码重构方法, 其特征在于, 所 述层次聚类算法具体为:先将 每个实体视为一个集群, 在第二次迭代中, 选择待被聚类实体 的多个最近邻居实体, 然后检查多个最近邻居实体的标签, 如果多个实体中至少有两个具 有相同的标记, 则标记目前的实体与这两个实体的标签相同, 如果多个实体有不同的标签, 则将用最近实体的标签标记当前实体。 7.如权利要求1所述的一种基于组合 聚类的包层次上的代码重构方法, 其特征在于, 所 述层次聚类算法采用A ‑KNN算法。 8.一种基于组合聚类的包层次上的代码重构系统, 其特 征在于, 包括: 代码获取模块, 被 配置为: 获取待重构的代码数据; 实体属性矩阵构建模块, 被配置为: 从待重构的代码数据中构建代码模块的实体属性 矩阵; 实体相似度矩阵构建模块, 被配置为: 基于实体属性矩阵计算实体间的相似度得到实 体相似度矩阵;权 利 要 求 书 1/2 页 2 CN 114327608 A 2实体聚类分组模块, 被配置为: 根据实体相似度矩阵, 采用密度聚类DBSCAN算法对实体 进行聚类得到实体聚类分组; 实体层次聚类模块, 被配置为: 对每个实体聚类分组分别进行层次聚类得到聚类树状 图; 代码重构分组模块, 被配置为: 基于聚类树状图分析结果并切分出代码重构的分组结 果。 9.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被处理器执 行时实现如权利要求1 ‑7中任一项 所述的一种基于组合聚类的包层次上的代码重构方法中 的步骤。 10.一种计算机设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计 算机程序, 其特征在于, 所述处理器执行所述程序时实现如权利要求 1‑7中任一项 所述的一 种基于组合聚类的包层次上的代码重构方法中的步骤。权 利 要 求 书 2/2 页 3 CN 114327608 A 3

.PDF文档 专利 一种基于组合聚类的包层次上的代码重构方法及系统

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于组合聚类的包层次上的代码重构方法及系统 第 1 页 专利 一种基于组合聚类的包层次上的代码重构方法及系统 第 2 页 专利 一种基于组合聚类的包层次上的代码重构方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 20:41:33上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。