[发明专利]一种基于层次聚类组合的软件架构恢复方法在审

专利信息
申请号: 202111501663.8 申请日: 2021-12-09
公开(公告)号: CN114510257A 公开(公告)日: 2022-05-17
发明(设计)人: 夏虹;陈彦萍;张永康;田振洲;王忠民 申请(专利权)人: 西安邮电大学
主分类号: G06F8/70 分类号: G06F8/70;G06K9/62
代理公司: 西安嘉思特知识产权代理事务所(普通合伙) 61230 代理人: 王萌
地址: 710061 陕西*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 层次 组合 软件 架构 恢复 方法
【权利要求书】:

1.一种基于层次聚类组合的软件架构恢复方法,其特征在于,包括:

步骤1:获取软件源代码中的函数实体;

步骤2:构建所述函数实体之间的关系;

其中,所述函数实体关系包括:实体引用的全局变量、局部变量、用户定义类型、数据文件,实体间的互相调用、系统调用,以及实体引用的宏;

步骤3:使用五种相似度计算方法分别计算函数实体间的相似度,得到每种相似度计算算法计算出的相似度;

步骤4:基于每种相似度计算算法计算出的相似度,使用CL、WCA、LIMBO三种层次聚类算法分别对函数实体进行聚类,得到根据每种相似度进行聚类的聚类结果;

步骤5:将每种聚类结果用描述矩阵的形式表示;

步骤6:使用主成分分析的方法将表示每种聚类结果的描述矩阵进行组合,得到多维矩阵;

步骤7:从所述多维矩阵中恢复出最终层次结构,以实现软件结构的恢复。

2.根据权利要求1所述的基于层次聚类组合的软件架构恢复方法,其特征在于,所述步骤1包括:

通过软件代码处理工具,从软件源代码中反向获取实体信息。

3.根据权利要求1所述的基于层次聚类组合的软件架构恢复方法,其特征在于,所述步骤2包括:

步骤2-1:获取每个函数实体的特征向量;

其中,每个函数实体用码字表示,当码字为1时表示码字对应的位置具有特征,当码字为0时表示没有特征;将存在特征进组合,得到每个函数实体的特征向量;

步骤2-2:将每个函数实体的特征向量,构建函数实体与函数实体之间的关系。

4.根据权利要求1所述的基于层次聚类组合的软件架构恢复方法,其特征在于,所述步骤3包括:

步骤3-1:使用Jaccard方法计算表达式,计算函数实体之间的第一二元相似度;

所述Jaccard方法计算表达式表示为:

步骤3-2:使用JaccardNM方法表达式,计算函数实体之间的第二二元相似度;

所述JaccardNM方法表达式表示为:

步骤3-3:使用Jaccam方法表达式,计算函数实体之间的第三二元相似度;

所述Jaccam方法表达式表示为:

其中,Ei,Ej表示计算的两个实体,a表示两个实体共有的特征数;b表示Ei中存在但Ej中不存在的特征数;c表示Ej中存在但Ei中不存在的特征数;d表示两个实体中都缺少的特征数;

步骤3-4:使用Unbiased Ellenberg measure方法表达式,计算函数实体之间的第四非二元相似度;

所述Unbiased Ellenberg measure方法表达式表示为:

其中,Ma表示两个函数实体中存在的特征的总和;

步骤3-5:使用信息丢失度表达式,计算函数实体间的第五相似度;

所述信息丢失度表达式表示为:

δI(Ei,Ej)=p(Ei)+p(Ej)*Djs(fi,fj)

其中,Dkl[fi||fj]是假设分布为fj的编码中冗余的度量,当分布为fi时,Djs是fi和fj与fij的平均Dkl距离。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111501663.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top