Abstract:In recent years, microservices architecture (MSA) has become a prevalent architectural style in the field of software engineering. The natural characteristics of MSA, e.g., supporting DevOps andcontinuous delivery, scalability and extensibility, motivate practitioners to migrate their legacy systems to this new architectural style. However, the migration to MSA also causes many challenges, among which the most critical one is lacking an automated and integrated solution for the microservices-oriented decomposition and the evaluation of candidate microservices. To address this challenge, an optimized approach (DFD-A) is proposed through overcoming two limitations of an existing data flow-driven decomposition solution (DFD), i.e. efficiency and flexibility. The proposed DFD-A approach realizes the automatic data flow information collection through combining the dynamic and static analysis technology and identifies microservices using a more flexible two-phase clustering algorithm. A prototype tool is also implemented to automatically support the whole process of the data collection, the decomposition, and even the evaluation of microservice candidates using some typical metrics. The results of a case study demonstrate the effectiveness, efficiency, and flexibility of the proposed DFD-A method for microservices-oriented decomposition and evaluation.