From legacy to microservices: A type-based approach for microservices identification using machine learning and semantic analysis

被引:14
作者
Trabelsi, Imen [1 ]
Abdellatif, Manel [1 ]
Abubaker, Abdalgader [2 ,3 ]
Moha, Naouel [1 ]
Mosser, Sebastien [4 ]
Ebrahimi-Kahou, Samira [1 ,2 ,5 ]
Gueheneuc, Yann-Gael [6 ]
机构
[1] Ecole Technol Super, Dept Software Engn & Informat Technol, Montreal, PQ, Canada
[2] Mila Quebec Artificial Intelligence Inst, Montreal, PQ, Canada
[3] Univ Khartoum, Dept Pure Math, Khartoum, Sudan
[4] McMaster Univ, Hamilton, ON, Canada
[5] CIFAR Al Chair, Toronto, ON, Canada
[6] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ, Canada
关键词
decomposition; microservices; migration; ML; monolith; semantic analysis;
D O I
10.1002/smr.2503
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The microservices architecture (MSA) style has been gaining interest in recent years because of its high scalability, ability to be deployed in the cloud, and suitability for DevOps practices. While new applications can adopt MSA from their inception, many legacy monolithic systems must be migrated to an MSA to benefit from the advantages of this architectural style. To support the migration process, we propose MicroMiner, a microservices identification approach that is based on static-relationship analyses between code elements as well as semantic analyses of the source code. Our approach relies on machine learning (ML) techniques and uses service types to guide the identification of microservices from legacy monolithic systems. We evaluate the efficiency of our approach on four systems and compare our results to ground-truths and to those of two state-of-the-art approaches. We perform a qualitative evaluation of the resulted microservices by analyzing the business capabilities of the identified microservices. Also a quantitative analysis using the state-of-the-art metrics on independence of functionality and modularity of services was conducted. Our results show the effectiveness of our approach to automate one of the most time-consuming steps in the migration of legacy systems to microservices. The proposed approach identifies architecturally significant microservices with a 68.15% precision and 77% recall.
引用
收藏
页数:23
相关论文
共 45 条
[1]   A Type-Sensitive Service Identification Approach for Legacy-to-SOA Migration [J].
Abdellatif, Manel ;
Tighilt, Rafik ;
Moha, Naouel ;
Mili, Hafedh ;
El Boussaidi, Ghizlane ;
Privat, Jean ;
Gueheneuc, Yann-Gael .
SERVICE-ORIENTED COMPUTING (ICSOC 2020), 2020, 12571 :476-491
[2]   A taxonomy of service identification approaches for legacy software systems modernization [J].
Abdellatif, Manel ;
Shatnawi, Anas ;
Mili, Hafedh ;
Moha, Naouel ;
El Boussaidi, Ghizlane ;
Hecht, Geoffrey ;
Privat, Jean ;
Gueheneuc, Yann-Gael .
JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 173 (173)
[3]   State of the Practice in Service Identification for SOA Migration in Industry [J].
Abdellatif, Manel ;
Hecht, Geoffrey ;
Mili, Hafedh ;
Elboussaidi, Ghizlane ;
Moha, Naouel ;
Shatnawi, Anas ;
Privat, Jean ;
Gueheneuc, Yann-Gael .
SERVICE-ORIENTED COMPUTING (ICSOC 2018), 2018, 11236 :634-650
[4]  
Ahmadvand M, 2016, 2016 IEEE 24TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE WORKSHOPS (REW), P68, DOI [10.1109/REW.2016.026, 10.1109/REW.2016.14]
[5]   Improving support vector machine classifiers by modifying kernel functions [J].
Amari, S ;
Wu, S .
NEURAL NETWORKS, 1999, 12 (06) :783-789
[6]  
[Anonymous], 2014, MartinFowler. com
[7]   Microservices Identification Through Interface Analysis [J].
Baresi, Luciano ;
Garriga, Martin ;
De Renzis, Alan .
SERVICE-ORIENTED AND CLOUD COMPUTING (ESOCC 2017), 2017, 10465 :19-33
[8]   FCM - THE FUZZY C-MEANS CLUSTERING-ALGORITHM [J].
BEZDEK, JC ;
EHRLICH, R ;
FULL, W .
COMPUTERS & GEOSCIENCES, 1984, 10 (2-3) :191-203
[9]   Fast unfolding of communities in large networks [J].
Blondel, Vincent D. ;
Guillaume, Jean-Loup ;
Lambiotte, Renaud ;
Lefebvre, Etienne .
JOURNAL OF STATISTICAL MECHANICS-THEORY AND EXPERIMENT, 2008,
[10]  
Boussaidi G. E., 2012, 2012 19th Working Conference on Reverse Engineering (WCRE), P345, DOI 10.1109/WCRE.2012.44