Tools
Microservice extraction technique identification
To identify additional proposing microservice decomposition techniques published from 2022 to January 2024, we performed a systematic search following the methodology used by Abgaz et al..
Search query:
- Query = Monolith AND Microservice AND Decomposition
- Monolith = monolith OR exist OR legacy
- Microservice = microservice OR micro-service
- Decomposition = decompos OR migrat OR identif OR extract OR refactor OR modular OR transform OR transit OR conver*
Databases:
- SpringerLink
- IEEE Xplore
- ACM Digital Library
- Science Direct
- Wiley Online
- Scopus
Inclusion criteria:
- (IC1) the primary objective of the study should be the decomposition of monolithic applications into microservices,
- (IC2) the study should include structured and preferably automatic or semi-automated decomposition approaches,
- (IC3) the study should sufficiently describe the decomposition method, code, algorithm, and its evaluation.
Exclusion criteria. In addition exclusion criteria applied by Abgaz et al. (EC1-EC5), we also exclude publications from non-A*/A venues according to the CORE ranking (EC6) or techniques that rely on additional artifacts that are often unavailable or requiring a considerable time to produce (EC7), e.g., entity-relationship and use case diagrams, as was also done in prior work:
- (EC1) duplicate study
- (EC2) books and patents
- (EC3) non-peer-reviewed study
- (EC4) secondary studies
- (EC5) study written in a language other than English
- (EC6) papers from non-A*/A venues
- (EC7) papers that rely on additional artifacts that are often unavailable or require a considerable time to produce
We also conducted a forward and backward snowballing search on the papers identified in the initial search, as in Abgaz et al. The snowballing process does not result in any additional qualified papers.
In the end, together with techniques collected by Abgaz et al., we identified a total of 24 publications that satisfy all selection criteria. We thus consider these 24 publications for our study.
This excel file contains data on our search and analysis of the papers. The first two tabs of the file contain the list of papers (from Abgaz et al., and returned from our query) and our analysis of the papers applying inclusion and exclusion criteria.
Tool authors invitation and their reply
We reached out to all authors of all 24 identified publications and sent an additional reminder two weeks after the initial contact, in case we did not receive a reply by then.
We received positive replies from authors of ten publications, who agreed to participate in our study. In two cases, different publications came from the same group and involved different versions of the same tool. We gave these authors the freedom to run their desired version of their respective tools. All but one participating tool worked for Java applications. Thus, to enable meaningful comparison, we had to exclude the single tool that works for Python.
Finally, to make sure we cover all microservice decomposition principles (Goal 1), we decided to include the single tool that relies on code evolution (and optimizes for team independence) when decomposing to microservices, which we ran ourselves.
The table below lists the 24 tools and marks ones that we received a positive confirmation from the authors. The same data can also be found in the third tab of the same excel file from the previous section.
Paper Title | Authors | Year | Venue | Agree to Participate |
---|---|---|---|---|
Extraction of Microservices from Monolithic Software Architectures | Genc Mazlami, Jürgen Cito, Philipp Leitner | 2017 | ICWS | * we run ourselves |
Tool Support for the Migration to Microservice Architecture: An Industrial Case Study | Ilaria Pigazzini, Francesca Arcelli Fontana, Andrea Maggioni | 2019 | ECSA | |
From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts | Luís Nunes, Nuno Santos, António Rito Silva | 2019 | ECSA | |
Unsupervised learning approach for web application auto-decomposition into microservices | Muhammad Abdullah, Waheed Iqbal, Abdelkarim Erradi | 2019 | JSS | |
Service Candidate Identification from Monolithic Systems based on Execution Traces | Wuxia Jin, Ting Liu, Yuanfang Cai, Rick Kazman, Ran Mo, Qinghua Zheng | 2019 | TSE | |
From Monolithic Architecture Style to Microservice one Based on a Semi-Automatic Approach | Anfel Selmadji, Abdelhak-Djamel Seriai, Hinde Lilia Bouziane, Rahina Oumarou Mahamane, Pascal Zaragoza, Christophe Dony | 2020 | ICSA | |
Remodularization Analysis for Microservice Discovery Using Syntactic and Semantic Clustering | Adambarage Anuruddha Chathuranga De Alwis, Alistair Barros, Colin Fidge, Artem Polyvyanyy | 2020 | CaiSE | |
Automated Microservice Identification in Legacy Systems with Functional and Non-Functional Metrics | Yukun Zhang, Bo Liu, Liyun Dai, Kang Chen, Xuelian Cao | 2020 | ICSA | Yes, multiple publications from the same group |
Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis | Tiago Matias, Filipe F. Correia, Jonas Fritzsch, Justus Bogner, Hugo S. Ferreira, André Restivo | 2020 | ECSA | Yes, later excluded for not supporting Java |
Monolith to Microservice Candidates using Business Functionality Inference | Shivali Agarwal, Raunak Sinha, Giriprasad Sridhara, Pratap Das, Utkarsh Desai, Srikanth Tamilselvam, Amith Singhee, Hiroaki Nakamuro | 2021 | ICWS | |
Graph Neural Network to Dilute Outliers for Refactoring Monolith Application | Utkarsh Desai, Sambaran Bandyopadhyay, Srikanth Tamilselvam | 2021 | AAAI | |
Microservice Remodularisation of Monolithic Enterprise Systems for Embedding in Industrial IoT Networks | Adambarage Anuruddha Chathuranga De Alwis, Alistair Barros, Colin Fidge, Artem Polyvyanyy | 2021 | CaiSE | |
A Multi-Criteria Strategy for Redesigning Legacy Features as Microservices: An Industrial Case Study | Wesley K. G. Assunção, Thelma Elita Colanzi, Luiz Carvalho, Juliana Alves Pereira, Alessandro Garcia, Maria Julia de Lima, Carlos Lucena | 2021 | SANER | Yes |
Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices | Anup K. Kalia, Jin Xiao, Rahul Krishna, Saurabh Sinha, Maja Vukovic, Debasish Banerjee | 2021 | FSE | Yes |
A Hierarchical DBSCAN Method for Extracting Microservices from Monolithic Applications | Khaled Sellami, Mohamed Aymen Saied, Ali Ouni | 2022 | EASE | Yes, multiple publications from the same group |
CARGO: AI-Guided Dependency Analysis for Migrating Monolithic Applications to Microservices Architecture | Vikram Nitin, Shubhi Asthana, Baishakhi Ray, Rahul Krishna | 2022 | ASE | Yes |
Combining Static and Dynamic Analysis to Decompose Monolithic Application into Microservices | Khaled Sellami, Mohamed Aymen Saied, Ali Ouni, Rabe Abdalkareem | 2022 | ICSOC | Yes, multiple publications from the same group |
Improving microservices extraction using evolutionary search | Khaled Sellami, Ali Ouni, Mohamed Aymen Saied, Salah Bouktif, Mohamed Wiem Mkaouer | 2022 | Info. Soft. Tech. | Yes, multiple publications from the same group |
Leveraging the Layered Architecture for Microservice Recovery | Pascal Zaragoza, Abdelhak-Djamel Seriai, Abderrahmane Seriai, Anas Shatnawi, Mustapha Derras | 2022 | ICSA | |
Log2MS: a framework for automated refactoring monolith into microservices using execution logs | Bo Liu, Jingliu Xiong, Qiurong Ren, Shmuel Tyszberowicz, Zheng Yang | 2022 | ICWS | Yes, multiple publications from the same group |
Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network | Alex Mathai, Sambaran Bandyopadhyay, Utkarsh Desai, Srikanth Tamilselvam | 2022 | IJCAI | |
Towards Migrating Legacy Software Systems to Microservice-based Architectures: a Data-Centric Process for Microservice Identification | Yamina Romani, Okba Tibermacine, Chouki Tibermacine | 2022 | ICSA-C | Yes |
Microservice extraction using graph deep clustering based on dual view fusion | Lifeng Qian, Jing Li, Xudong He, Rongbin Gu, Jiawei Shao, Yuqi Lu | 2023 | Info. Soft. Tech. | |
From monolithic to microservice architecture: an automated approach based on graph clustering and combinatorial optimization | Gianluca Filippone, Nadeem Qaisar Mehmood, Marco Autili, Fabrizio Rossi, Massimo Tivoli | 2023 | ICSA | Yes |