[发明专利]一种概率选择的软件模块聚类方法有效
申请号: | 201711100834.X | 申请日: | 2017-11-07 |
公开(公告)号: | CN107766076B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 孙家泽;令蓓蕾 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F8/72 | 分类号: | G06F8/72;G06K9/62 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710061 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 概率 选择 软件 模块 方法 | ||
本发明针对软件系统重构中软件模块聚类问题,公开了一种概率选择的软件模块聚类方法。本方法首先从软件系统源程序中提取获得软件系统的模块依赖关系图,然后从图中稀疏点出发基于概率选择对结点进行局部合并操作得到软件系统的初步模块聚类,最后根据结点与各个模块之间的联系数基于概率动态调整每个结点的所属聚类,得到软件模块的聚类结果。本发明为软件模块聚类问题提供了一种简单的、收敛速度快且聚类效果好的工程化方法,用于重构软件系统结构,提高软件系统的可理解性。
技术领域
本发明属于软件系统重构技术领域,具体涉及到软件系统重构中模块聚类问题,提供了一种基于概率选择的软件模块聚类方法,主要解决在软件系统代码重构中如何优化系统代码结构,达到消除系统冗余,增加软件系统的可理解性,降低软件系统维护费用的目的。
背景技术
软件维护是软件生命周期中一个非常重要的阶段,其维护成本往往很高。随着业务需求的增加和变化,软件系统的模块化结构往往随着软件系统的变化而偏离最初的设计结构,软件系统需要不断的重构,理解和维护规模庞大的软件系统变得越来越困难,因此迫切需要高效的软件模块聚类方法,特别是对于那些缺少文档的遗留系统,如何重构软件结构,使软件系统变得易于理解、维护和管理是软件维护中一个急需解决的关键问题。
软件模块聚类是一种常用的软件模型恢复技术,在逆向工程中应用十分广泛,通过组织或重新组织软件系统,使模块达到“高内聚”和“低耦合”的标准,达到消除冗余,增加软件系统的可理解性,降低软件系统维护费用的目的。软件模块聚类是软件模块划分的一种重要手段,软件聚类是通过模块依赖图利用聚类算法对软件系统进行模块结构划分,将软件系统分解为一些子系统,使复杂的软件系统变得易于理解和管理。目前常用的软件模块聚类方法可以分为5类:图理论技术、基于信息检索的技术、基于数据挖掘的技术、基于模式匹配的技术和元启发式方法。对于大规模的复杂软件系统,获得合理的软件模块聚类结果通常比较困难,应用图方法进行软件模块聚类的常用传统方法有单链接和完全链接等。然而,软件模块聚类问题是一个NP问题,基于图的方法在解决软件模块聚类问题时随着软件系统规模的增加搜索空间呈指数增长。为了在合理的计算资源下找到有效的聚类方案,Mancoridis等使用基于搜索的方法进行软件模块聚类并将软件模块质量作为软件模块聚类的评估准则,并实现了模块划分工具Bunch。随后,相继将爬山算法、模拟退火算法、粒子群算法、遗传算法等元启发式方法应用于软件模块聚类问题上,使问题得到一定程度的解决,但是由于没有考虑软件模块聚类问题的自身特点,而是在解空间中盲目搜索,使得优化过程收敛速度慢,聚类效果不理想,而且计算量大,不利于进行大规模复杂软件系统的软件模块聚类。
软件模块聚类问题是一种典型的不确定性问题,前苏联数学家柯尔莫哥洛夫首次提出并建立的概率论方法为解决具有随机性的不确定性问题提供了一种简单有效的思路。
为此,本发明提出一种概率选择的软件模块聚类方法。通过对软件系统建立复杂网络模型,得到软件系统的网络拓扑,将软件模块聚类问题转化为图聚类问题,并利用概率选择的软件模块聚类算法对图进行聚类。从软件模块设计的原则出发指导软件模块聚类的全过程,使方法快速收敛,稳定性好,并加入概率选择的策略保证算法不易陷入局部最优,并得到更为有效的软件模块聚类方案,为大规模软件系统模块聚类提供了一个简单有效的方法。
发明内容
本发明解决的问题:为克服现有方法计算量大的缺点,提出一种概率选择的软件模块聚类方法,为大规模软件系统模块聚类问题提供了一种较为简单,聚类效果好的方法,使规模庞大的复杂软件系统聚类形成规模更小,更易于管理的子系统。
本发明解决方案:为实现上述目的,本发明的技术方案包括以下步骤,如图1所示:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711100834.X/2.html,转载请声明来源钻瓜专利网。