摘要
开源程序、遗产系统在程序理解过程中,使用软件聚类技术来提取软件系统架构,以降低理解和分析软件系统的难度。目前主流算法当中,层次聚类算法虽具有合理的搜索时间,但聚类结果无法令人满意,基于搜索的算法虽有良好聚类结果,但时间和空间限制使它们无法应对大型软件系统。针对现有软件聚类方法的局限性,提出了一种新的确定性聚类算法,利用模块依赖图(MDG)中现有属性进行聚类。初步结果显示,与层次聚类算法和基于搜索的算法相比,该算法在合理的时间内能够较好地获取聚类结果。所提出的聚类算法可以有效地帮助软件设计师从源代码中提取良好的子系统。
In the process of program understanding,open source software and legacy systems use software clustering technology to extract software system architecture to reduce the difficulty of understanding and analyzing software systems.Hierarchical clustering algorithms have a reasonable search time,however,the clustering results are unsatisfactory.Search-based algorithms have better clustering results,however,the time and space constraints make them unable to cope with large software systems.Aiming at the limitation of existing software clustering methods,a new deterministic clustering algorithm is proposed,which uses the existing attributes of Module Dependency Graph (MDG) to cluster.Initial results show that the algorithm can obtain clustering results in a reasonable time,compared with hierarchical clustering algorithm and search-based algorithm.The proposed clustering algorithm is expected to greatly assist software engineers in extracting better subsystems from source code.
作者
刘彦宇
包东辉
LIU Yanyu;BAO Donghui(Beihai Vocational College,Department of Electronic Information Engineering,Beihai,Guangxi 536000,China)
出处
《河池学院学报》
2019年第2期77-83,共7页
Journal of Hechi University
基金
广西高校中青年基础能力提升项目(2018KY1190)
关键词
软件聚类
模块依赖图
程序理解
software clustering
module dependency graph
program understanding