Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Research Centres and Institutes
  3. McMaster Centre for Software Certification
  4. McMaster Centre for Software Certification Publications
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/28661
Title: How do Microservices Evolve? An Empirical Analysis of Changes in Open-Source Microservice Repositories
Authors: Assunção, Wesley K. G.
Krüger, Jacob
Mosser, Sébastien
Selaoui, Sofiane
Department: Computing and Software
Keywords: microservices;service-oriented architecture;software evolution;software architecture;mining software repositories
Publication Date: 11-Jun-2023
Publisher: Elsevier
Series/Report no.: Journal of Software and Systems (JSS);
Abstract: Context. Microservice architectures are an emergent service-oriented paradigm widely used in industry to develop and deploy scalable software systems. The underlying idea is to design highly independent services that implement small units of functionality and can interact with each other through lightweight interfaces. Objective. Even though microservices are often used with success, their design and maintenance pose novel challenges to software engineers. In particular, it is questionable whether the intended independence of microservices can actually be achieved in practice. Method. So, it is important to understand how and why microservices evolve during a system’s life-cycle, for instance, to scope refactorings and improvements of a system’s architecture or to develop supporting tools. To provide insights into how microservices evolve, we report a large-scale empirical study on the (co-)evolution of microservices in 11 open-source systems, involving quantitative and qualitative analyses of 7,319 commits. Findings. Our quantitative results show that there are recurring patterns of (co-)evolution across all systems, for instance, “shotgun surgery” commits and microservices that are largely independent, evolve in tuples, or are evolved in almost all changes. We refine our results by analyzing service-evolving commits qualitatively to explore the (in-)dependence of microservices and the causes for their specific evolution. Conclusion. The contributions in this article provide an understanding for practitioners and researchers on how microservices evolve in what way, and how microservice-based systems may be improved.
URI: http://hdl.handle.net/11375/28661
Appears in Collections:McMaster Centre for Software Certification Publications

Files in This Item:
File Description SizeFormat 
JSS2023_microservice_evolution.pdf
Open Access
2.77 MBAdobe PDFView/Open
Show full item record Statistics


This item is licensed under a Creative Commons License Creative Commons

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue