中文

通过深度语义嵌入与基于图神经网络的软聚类从单体代码中提取重叠微服务

软件工程 2025-08-12 v1 人工智能 计算机视觉与模式识别

摘要

现代软件系统正日益从单体架构转向微服务,以增强可扩展性、可维护性和部署灵活性。现有的微服务提取方法通常依赖于硬聚类,将每个软件组件分配给单个微服务。这种方法往往会增加服务间耦合并降低服务内内聚。我们提出Mo2oM(单体到重叠微服务),一个将微服务提取形式化为软聚类问题的框架,允许组件概率性地属于多个微服务。该方法受专家驱动分解的启发,其中实践者有意跨服务复制某些软件组件以减少通信开销。Mo2oM结合了深度语义嵌入与从方法调用图中提取的结构依赖关系,以捕获功能和架构关系。然后,基于图神经网络的软聚类算法生成最终的微服务集。我们在四个开源单体基准上评估了Mo2oM,并将其与八种最先进的基线方法进行了比较。结果表明,在所有基准上,Mo2oM在结构模块化(平衡内聚与耦合)方面实现了高达40.97%的改进,在服务间调用百分比(通信开销)方面改进了58%,在接口数量(模块化与解耦)方面改进了26.16%,在非极端分布(服务大小平衡)方面改进了38.96%。

引用

@article{arxiv.2508.07486,
  title  = {Extracting Overlapping Microservices from Monolithic Code via Deep Semantic Embeddings and Graph Neural Network-Based Soft Clustering},
  author = {Morteza Ziabakhsh and Kiyan Rezaee and Sadegh Eskandari and Seyed Amir Hossein Tabatabaei and Mohammad M. Ghassemi},
  journal= {arXiv preprint arXiv:2508.07486},
  year   = {2025}
}