Towards Automated Microservices Extraction Using Muti-objective Evolutionary Search

  • Islem Saidani
  • Ali OuniEmail author
  • Mohamed Wiem Mkaouer
  • Aymen Saied
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11895)


We introduce in this paper a novel approach, named MSExtractor, that formulate the microservices identification problem as a multi-objective combinatorial optimization problem to decompose a legacy application into a set of cohesive, loosely-coupled and coarse-grained services. We employ the non-dominated sorting genetic algorithm (NSGA-II) to drive a search process towards optimal microservices identification while considering structural dependencies in the source code. We conduct an empirical evaluation on a benchmark of two open-source legacy software systems to assess the efficiency of our approach. Results show that MSExtractor is able to find relevant microservice candidates and outperforms recent three state-of-the-art approaches.


Microservices Search-based software engineering Legacy decomposition Microservices architecture 


  1. 1.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002) CrossRefGoogle Scholar
  2. 2.
    Mkaouer, W., et al.: Many-objective software remodularization using NSGA-III. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24(3), 17 (2015)CrossRefGoogle Scholar
  3. 3.
    Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)CrossRefGoogle Scholar
  4. 4.
    Jin, W., Liu, T., Zheng, Q., Cui, D., Cai, Y.: Functionality-oriented microservice extraction based on execution trace clustering. In: 2018 IEEE International Conference on Web Services (ICWS), pp. 211–218. IEEE (2018)Google Scholar
  5. 5.
    Athanasopoulos, D., Zarras, A.V., Miskos, G., Issarny, V., Vassiliadis, P.: Cohesion-driven decomposition of service interfaces without access to source code. IEEE Trans. Serv. Comput. 8(4), 550–562 (2015)CrossRefGoogle Scholar
  6. 6.
    Ouni, A., Wang, H., Kessentini, M., Bouktif, S., Inoue, K.: A hybrid approach for improving the design quality of web service interfaces. ACM Trans. Internet Technol. (TOIT) 19(1), 4 (2018)CrossRefGoogle Scholar
  7. 7.
    Adjoyan, S., Seriai, A.-D., Shatnawi, A.: Service identification based on quality metrics object-oriented legacy system migration towards SOA. In: SEKE: Software Engineering and Knowledge Engineering (2014)Google Scholar
  8. 8.
    Newman, S.: Building Microservices: Designing Fine-grained Systems. O’Reilly Media, Sebastopol (2015)Google Scholar
  9. 9.
    Mazlami, G., Cito, J., Leitner, P.: Extraction of microservices from monolithic software architectures. In: 2017 IEEE International Conference on Web Services (ICWS) (2017)Google Scholar
  10. 10.
    Andritsos, P., Tzerpos, V.: Information-theoretic software clustering. IEEE Trans. Softw. Eng. 31(2), 150–165 (2005)CrossRefGoogle Scholar
  11. 11.
    Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: improving the strength Pareto evolutionary algorithm, TIK-report, vol. 103 (2001)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Islem Saidani
    • 1
  • Ali Ouni
    • 1
    Email author
  • Mohamed Wiem Mkaouer
    • 2
  • Aymen Saied
    • 3
  1. 1.ETS MontrealUniversity of QuebecMontrealCanada
  2. 2.Rochester Institute of Technology (RIT)RochesterUSA
  3. 3.Concordia UniversityMontrealCanada

Personalised recommendations