CC4M:面向微服务的代码克隆分析与可视化工具
CC4M: Code Clone Analysis and Visualization for Microservices
浏览论文内容
中文总结 AI 辅助
针对微服务跨边界代码克隆的维护问题,提出CC4M工具,该工具可检测并丰富克隆信息,通过交互式散点图可视化并支持筛选,助力识别代码变更的潜在影响范围。
中文摘要 AI 辅助
微服务架构通过将系统分解为可独立部署的小型松耦合服务,支持软件演化。与高模块化的预期相反,现有研究报告称服务边界间存在代码克隆,部分克隆在同一版本中被共同修改。此类克隆可能需要跨服务边界传播变更,从而破坏服务独立性并增加维护成本。然而,现有工具不支持感知微服务的克隆分析。我们提出CC4M,一款感知微服务的克隆分析与可视化工具。CC4M检测克隆对,并为其补充服务边界、共同修改、文件类别及指标信息。经丰富后的克隆对在交互式散点图中可视化,图中明确标注服务边界,支持基于指标的筛选,以优先处理潜在维护影响更高的克隆。我们通过一个开源微服务应用示例,展示CC4M如何帮助识别代码变更的潜在影响范围。演示视频和工具分别可通过此URL和此URL获取。
英文摘要
Microservice architecture supports software evolution by decomposing a system into small, loosely coupled services that can be deployed independently. Contrary to the expectation of high modularity, prior studies have reported that code clones exist across service boundaries, some of which are co-modified in the same version. Such clones may require changes to be propagated across service boundaries, thereby undermining service independence and increasing maintenance costs. However, existing tools do not support microservice-aware clone analysis. We present CC4M, a microservice-aware clone analysis and visualization tool. CC4M detects and enriches clone pairs with service-boundary, co-modification, file-category, and metric information. The enriched clones are visualized in an interactive scatter plot with explicit service boundaries, supporting metric-based filtering to prioritize clones with potentially higher maintenance impact. Using an open-source microservice application, we illustrate how CC4M helps identify the potential impact scope of code changes. A demo video and the tool are available at https://www.youtube.com/watch?v=0xOIQPFbkUg and https://doi.org/10.5281/zenodo.21204195, respectively.