[发明专利]一种基于自适应网格划分聚类的软件架构恢复方法在审
申请号: | 202210074711.8 | 申请日: | 2022-01-21 |
公开(公告)号: | CN114428632A | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 晋武侠;董思远;刘烃;范铭;戴铱彤 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06F8/71;G06K9/62 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 王艾华 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 自适应 网格 划分 软件 架构 恢复 方法 | ||
1.一种基于自适应网格划分聚类的软件架构恢复方法,其特征在于,包括如下步骤:
S1:构建类依赖网络,文件耦合网络作为特征提取对象;
S2:利用网络嵌入算法将软件关联网络中的节点转化为向量表示;
S3:将向量表示结果作为数据集,根据数据集的离散程度确定聚类算法的网格划分数和去除异常点的密度阈值;
S4:使用网格划分数对数据集中的样本点进行处理,确定各样本点的网格索引,计算出各数据点对应的网格坐标数组G,并统计各网格密度大小;
S5:使用密度阈值划分出的网格进行筛选处理,对网格进行分类,分出稠密网格与非稠密网格,对稠密网格中的样本点进行均值处理,得到相对准确的中心点;
S6:将中心点作为聚类方法的初始中心点进行迭代,对数据集进行聚类,得到聚类结果为软件的框架结构。
2.根据权利要求1所述基于自适应网格划分聚类的软件架构恢复方法,其特征在于,所述步骤S1中,将面向对象系统中的类或接口作为网络的顶点,类或接口之间的依赖关系作为网络的边,构建类依赖网络,依赖关系包括继承依赖,接口实现依赖,方法调用依赖,返回值依赖以及参数依赖;将软件系统中的源文件作为网络的顶点,将源文件在软件的版本控制系统中的共同修改记录作为网络的边,将源文件间的共同修改频次作为网络的权值,构建文件耦合网络。
3.根据权利要求1所述基于自适应网格划分聚类的软件架构恢复方法,其特征在于,所述步骤S2中,利用网络嵌入算法将软件关联网络中的节点转化为向量表示,网络嵌入算法的选择取决于所处理的网络是否为无向无权图,若为无向无权图则选择Struc2Vec算法,重点关注图中顶点的空间结构相似性;否则选择Node2Vec算法,结合DFS和BFS随机游走对图进行顶点序列采样,其中,Node2Vec算法的超参数p选择0.5控制重复访问刚刚访问过的顶点的概率,超参数q选择5控制游走倾向访问偏向BFS的顶点。
4.根据权利要求1所述基于自适应网格划分聚类的软件架构恢复方法,其特征在于,所述步骤S3中,为了得到合理的分割参数,以求后续聚类取得良好的效果,算法根据待聚类数据集自身的特点来计算维度分割参数,步骤S3具体包括:
S301:计算各维离散程度:首先利用标准差系数计算每一维度的数据离散程度,采用的具体计算公式如下所示:
其中,Vi为第i维数据的标准差系数,Si为第i维数据的标准差,Xi为第i维数据的均值;
S302:计算数据集离散化程度:采用的具体计算公式如下所示:
其中,d为数据集中数据对象的维数;V为数据集的离散化程度值,V的值越小,数据集的离散度越大;
S303:计算网格划分数:采用的具体计算公式如下所示:
其中,GNum为网格划分数,d为数据集中数据对象的维数,N为数据集中样本的数量。
S304:确定密度阈值:以数据集的平均密度作为密度阈值可以有效的去除异常点,采用的具体计算公式如下所示:
其中,Threshold为密度阈值,噪声网格点的密度小于样本空间中整个网格点的平均密度,以平均密度作为阈值的方法可以有效地去除噪声点,同时,阈值也随着GNum的变化而调整,动态变化阈值可以更准确地去除噪声点。
5.根据权利要求1所述基于自适应网格划分聚类的软件架构恢复方法,其特征在于,所述步骤S4中,利用步骤S3中计算出的网格划分数对数据集进行划分操作,首先通过计算各维度的最大最小值计算出各维度的数据范围,从而计算出各维度网格大小,建立网格坐标数组,计算出各个数据点对应的网格坐标数组,将所有数据点利用网格划分思想将其分别划分到各个网格空间中,采用的具体计算公式如下所示:
其中,Gij为各个数据点对应的网格坐标,N为数据集中样本的数量,d为数据集中数据对象的维度,xij为数据集中各数据点各维度的具体数据值,xjmax为各维度的最大值,xjmin为各维度的最小值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210074711.8/1.html,转载请声明来源钻瓜专利网。