中文

基于单体开发历史的微服务识别:一项对比分析

软件工程 2022-12-23 v1

摘要

近期研究提出了多种在单体系统上自动识别候选微服务的方法,这些方法在单体表示、相似性准则及所用质量度量上各不相同。另一方面,它们通常在所评估的代码库与分解方案数量上有限,且方法间的比较很少。考虑到软件工程中基于代码库演化分析技术的兴起趋势,我们将基于单体代码结构(特别是访问领域实体的序列)的表示,与基于单体开发历史(文件变更与变更作者)的表示进行了对比。通过对 28 个代码库共计 468k 个分解方案的分析,采用评估模块性、每功能事务数最小化以及团队与沟通减少的五个质量度量,我们得出结论:在各度量上最佳的分解方案均通过结合访问序列与开发历史表示的数据而获得。我们还发现,相较于少作者代码库的访问序列表示,多作者代码库的变更作者表示在每功能事务数最小化与团队减少方面取得了可比或更优的结果。

关键词

引用

@article{arxiv.2212.11656,
  title  = {Monolith Development History for Microservices Identification: a Comparative Analysis},
  author = {João Lourenço and António Rito Silva},
  journal= {arXiv preprint arXiv:2212.11656},
  year   = {2022}
}

备注

11 pages, 6 figures