{"title":"Reengineering software systems into microservices: State-of-the-art and future directions","authors":"Thakshila Imiya Mohottige , Artem Polyvyanyy , Colin Fidge , Rajkumar Buyya , Alistair Barros","doi":"10.1016/j.infsof.2025.107732","DOIUrl":null,"url":null,"abstract":"<div><h3>Context:</h3><div>With the acknowledged benefits of microservices architectures, such as scalability, flexibility, improved maintenance, and deployment, legacy software systems are increasingly being reengineered into microservices. Recently, a plethora of methods, techniques, tools, and evaluation criteria for reengineering software systems into microservices have been proposed without being systematized.</div></div><div><h3>Objectives:</h3><div>The objective of this work is to conduct an in-depth systematic literature review to identify and analyze methods, techniques, and tools for reengineering software systems into microservices and the ways for evaluating such reengineering initiatives and their results.</div></div><div><h3>Methods:</h3><div>A systematic literature review of works on reengineering software systems into microservices was performed, yielding 117 primary studies. The review focused on addressing key research questions concerning the evolution of microservices reengineering, methodologies employed, tools available, and the challenges faced in the reengineering process. We used a taxonomy development method to systematize knowledge in these areas.</div></div><div><h3>Results:</h3><div>The analysis revealed multiple reengineering approaches: static, dynamic, hybrid, and artifact-driven. Significant evaluation criteria identified include coupling, cohesion, and modularity. Key paradigms for microservices reengineering, such as domain-driven design and interface analysis, were identified and discussed. The study also highlights that incremental and iterative transitions are favored in practice.</div></div><div><h3>Conclusion:</h3><div>This study provides a structured overview of the current state of research on reengineering software systems into microservices. It highlights challenges in existing reengineering methodologies. Future directions include validating behavioral equivalence of original and reengineered systems, automating microservices generation, and refining database layer partitioning. The findings emphasize the need for further work to enhance the reengineering process and evaluation of the transition between monolithic and microservices architectures.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"183 ","pages":"Article 107732"},"PeriodicalIF":3.8000,"publicationDate":"2025-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Information and Software Technology","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0950584925000710","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0
Abstract
Context:
With the acknowledged benefits of microservices architectures, such as scalability, flexibility, improved maintenance, and deployment, legacy software systems are increasingly being reengineered into microservices. Recently, a plethora of methods, techniques, tools, and evaluation criteria for reengineering software systems into microservices have been proposed without being systematized.
Objectives:
The objective of this work is to conduct an in-depth systematic literature review to identify and analyze methods, techniques, and tools for reengineering software systems into microservices and the ways for evaluating such reengineering initiatives and their results.
Methods:
A systematic literature review of works on reengineering software systems into microservices was performed, yielding 117 primary studies. The review focused on addressing key research questions concerning the evolution of microservices reengineering, methodologies employed, tools available, and the challenges faced in the reengineering process. We used a taxonomy development method to systematize knowledge in these areas.
Results:
The analysis revealed multiple reengineering approaches: static, dynamic, hybrid, and artifact-driven. Significant evaluation criteria identified include coupling, cohesion, and modularity. Key paradigms for microservices reengineering, such as domain-driven design and interface analysis, were identified and discussed. The study also highlights that incremental and iterative transitions are favored in practice.
Conclusion:
This study provides a structured overview of the current state of research on reengineering software systems into microservices. It highlights challenges in existing reengineering methodologies. Future directions include validating behavioral equivalence of original and reengineered systems, automating microservices generation, and refining database layer partitioning. The findings emphasize the need for further work to enhance the reengineering process and evaluation of the transition between monolithic and microservices architectures.
期刊介绍:
Information and Software Technology is the international archival journal focusing on research and experience that contributes to the improvement of software development practices. The journal''s scope includes methods and techniques to better engineer software and manage its development. Articles submitted for review should have a clear component of software engineering or address ways to improve the engineering and management of software development. Areas covered by the journal include:
• Software management, quality and metrics,
• Software processes,
• Software architecture, modelling, specification, design and programming
• Functional and non-functional software requirements
• Software testing and verification & validation
• Empirical studies of all aspects of engineering and managing software development
Short Communications is a new section dedicated to short papers addressing new ideas, controversial opinions, "Negative" results and much more. Read the Guide for authors for more information.
The journal encourages and welcomes submissions of systematic literature studies (reviews and maps) within the scope of the journal. Information and Software Technology is the premiere outlet for systematic literature studies in software engineering.