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

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

发明提供了一种基于层次聚类组合的软件架构恢复方法,包括:构建软件源代码中的函数实体之间的关系;使用五种相似度计算方法分别计算函数实体间的相似度;基于每种相似度计算算法计算出的相似度,使用CL、WCA、LIMBO三种层次聚类算法分别对函数实体进行聚类;将每种聚类结果用描述矩阵的形式表示;使用主成分分析的方法将表示每种聚类结果的描述矩阵进行组合,得到多维矩阵;从多维矩阵中恢复出最终层次结构,以实现软件结构的恢复。本发明使用主成分分析,将可以描述和考虑软件实体间的各种关系的多个矩阵进行组合降维,组合结果尽可能地保留了各个聚类算法的基本信息,从而提高从基于聚类恢复的软件架构与真实架构的准确度。

技术领域

本发明属于软件工程领域,具体涉及一种基于层次聚类组合的软件架构恢复方法。

背景技术

当在软件系统中加入新的需求时,系统的规模和复杂性会增加,而架构可能会恶化并偏离原始文档。主要原因包括软件开发没有架构设计阶段;无法获得原开发人员的设计文档;文件可能没有更新;不理解代码段复制源代码等。软件架构的重要性就在于它满足了非功能性的需求,也称之为质量需求。这些非功能性需求决定一个应用程序在运行时的质量,比如可扩展性和可靠性,同时也决定了开发阶段的质量,包括可维护性、可测试性、可扩展性和可部署性。适宜的架构可增加应用程序的这些质量属性,而软件架构恢复是软件工程邻域的热点问题。

现有技术中,通常采用基于聚类的软件架构恢复方法,如基于分层和分区的聚类算法。对于分层聚类其过程是:算法从n个单例(每个实体)开始,合并它们直到获得单个集群。该过程的每个步骤中合并两个最相似的集群,分层聚类算法提供了软件聚类的不同视角,并迭代给出了软件体系结构的详细视图,而晚期的聚类迭代给出了高级视图。对于分区聚类算法,其过程是:从一个集群(包含所有实体)开始并分割它,直到获得聚类结果,对于给定的n个实体集合,这种方法简单地将实体集合划分为不重叠的聚类簇,以便每个实体恰好在一个簇中。

现有技术的聚类算法必须针对目标系统中相似的组实体,基于特定的特征,然而软件系统中,选择一种适用于某一任务的合适算法难度较大。因此亟待一种一种基于层次聚类组合的软件架构恢复方法。

发明内容

为了解决现有技术中存在的上述问题,本发明提供一种基于层次聚类组合的软件架构恢复方法。本发明要解决的技术问题通过以下技术方案实现:

本发明提供的一种基于层次聚类组合的软件架构恢复方法包括:

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

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

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

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

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

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

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

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

可选的,步骤1包括:

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

可选的,步骤2包括:

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

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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