摘要
应用超图理论模型设计软件模块的自动划分算法。通过分析软件源码建立超图模型,将类抽象为超图的顶点,使多个类之间存在关联,将软件模块划分转换为超图划分问题,再利用超图模型实现对超图的划分,从而达到软件模块划分的目的。基于高内聚低耦合原则给出模块度的概念,得到优化的分割结果。以开源软件为实验数据,并与传统的划分算法hMetis进行对比,结果表明该算法的划分结果较优,验证了其合理性与有效性。
This paper applies the hypergraph model to design automatic software module partition algorithm.Under the hypergraph modeling,each significant class extracted from the source codes of an analyzing software system is abstracted as a vertex of a hypergraph,and hyperedges are built among the classes which have relations to some extent.Then the problem of module partition is translated into a partitioning problem of a hypergraph,which can be solved by hypergraph partitioning algorithm.In order to improve the partitioning result,a new modularity function is constructed according to the cohesion states and coupling relations in and among software modules.Compared with hMetis algorithm,experimental results show that the proposed algorithm can obtain reasonable and effective module partition.
出处
《计算机工程》
CAS
CSCD
北大核心
2016年第1期71-76,共6页
Computer Engineering
基金
国家国际科技合作专项基金资助项目(2013DFA12460)
关键词
软件模块划分
超图建模
超图划分
模块度
hMetis算法
software module partition
hypergraph modeling
hypergraph partition
modularity
hMetis algorithm