基于鲸鱼优化算法的类图重构研究
2021-11-04胡志刚杨娜刘伟
湖南大学学报(自然科学版) 2021年10期
胡志刚,杨娜,刘伟,2†
(1.中南大学 计算机学院,湖南 长沙 410083;2.湖南中医药大学 信息科学与工程学院,湖南 长沙 410208)
软件产品经常随着需求的变更演变为完成不同的功能,这些演变可能使软件设计变得更加复杂,致使软件质量降低.重构被定义为优化现有系统的内部结构而不改变其功能,主要通过改进抽象、耦合、继承等质量属性来提高软件质量.重构最初是在面向对象软件的环境中提出的[1],软件重构已经被应用于面向方面的软件、软件产品线等不同的环境,以及应用在代码、模型、文档等不同的层次中.
软件重构阶段可以分为代码层重构和模型层重构,模型层的类图重构通过找到最佳重构序列来提高软件质量,而寻找最佳重构是一个优化问题,可通过进化算法来实现,进化算法包括爬山算法[2]、模拟退火算法、群体智能算法和生物地理算法等.群体智能算法主要是模拟动物的群体行为,依靠相互合作来捕获食物,通过自身学习及向他人学习来不断改变自身的搜索方向来提高捕食的效率.群体智能优化算法的优势在于利用群体能力进行协同搜索,从而在解空间内找到最优解.其中鲸鱼优化算法是根据鲸鱼围捕猎物的行为而提出的算法.
很多人都对软件重构进行了相关研究.Kebir 等人[3]提出了一种基于遗传算法的软件构件自动重构方法,首先检测出代码坏味道,然后从基于组件的源代码中构建源代码模型,最后用遗传算……
登录APP查看全文