杜 欣 赵 康 倪友聪 沈志鹏
一种基于逻辑的Java模块依赖图构建工具
杜 欣 赵 康*倪友聪 沈志鹏
(福建师范大学软件学院 福建 福州 350108)
目前Java模块依赖图MDG(Module Dependency Graph)的构建工具还比较稀缺,从一定程度上限制了基于MDG图的软件模块聚类算法的应用。针对这一问题,提出一种基于逻辑的Java模块依赖图构建工具TL4JMDG(the tool logic-based for Java MDG)。在开源框架JTransformer和tuProlog的支持下,TL4JMDG工具以逻辑方式实现了Java模块关系的抽取和MDG图的生成。阐述TL4JMDG工具的设计与实现,并给出TL4JMDG工具和基于Chava工具构建MDG的耗时比较。TL4JMDG工具具有较好的可配置性、可扩展性和性能,使得目前已有的基于MDG图的聚类算法能更好地应用于Java软件模块聚类。
软件模块聚类 模块关系 模块依赖图 JTransformer
软件模块化可以提高系统的可理解性、降低系统的维护费用。软件模块聚类是软件模块化的一种重要手段。目前已涌现出一批基于模块依赖图MDG的软件模块聚类算法。Mitchell[1, 2]等人使用了爬山算法、遗传算法等启发式算法进行软件模块聚类研究。为了进一步增大搜索空间,提高解质量,一些多目标软件模块聚类算法[3-9]被纷纷提出。Praditwong[7]等人首次将软件模块聚类作为一个多目标优化问题进行研究,提出了两种多目标软件模块聚类算法ECA和MCA。De Barros[3]提出一种基于多目标遗传算法的软件模块聚类方法。Gupta[5]等人提出一种软件模块多目标聚类算法MHypGA。上述这些软件聚类算法都直接或间接地利用MDG图来计算各个目标的值。上述这些算法大多集中在对C或C++程序模块进行聚类。……