Fostering Microservice Maintainability Assurance through a Comprehensive Framework (2407.16873v1)
Abstract: Cloud-native systems represent a significant leap in constructing scalable, large systems, employing microservice architecture as a key element in developing distributed systems through self-contained components. However, the decentralized nature of these systems, characterized by separate source codes and deployments, introduces challenges in assessing system qualities. Microservice-based systems, with their inherent complexity and the need for coordinated changes across multiple microservices, lack established best practices and guidelines, leading to difficulties in constructing and comprehending the holistic system view. This gap can result in performance degradation and increased maintenance costs, potentially requiring system refactoring. The main goal of this project is to offer maintainability assurance for microservice practitioners. It introduces an automated assessment framework tailored to microservice architecture, enhancing practitioners' understanding and analytical capabilities of the multiple system perspectives. The framework addresses various granularity levels, from artifacts to constructing holistic views of static and dynamic system characteristics. It integrates diverse perspectives, encompassing human-centric elements like architectural visualization and automated evaluations, including coupling detection, testing coverage measurement, and semantic clone identification. Validation studies involving practitioners demonstrate the framework's effectiveness in addressing diverse quality and maintainability issues, revealing insights not apparent when analyzing individual microservices in isolation.
- T. Cerny, M. J. Donahoo, and M. Trnka, “Contextual understanding of microservice architecture: Current and future directions,” SIGAPP Appl. Comput. Rev., vol. 17, no. 4, pp. 29–45, Jan. 2018.
- A. S. Abdelfattah and T. Cerny, “Roadmap to reasoning in microservice systems: A rapid review,” Applied Sciences, vol. 13, no. 3, p. 1838, 2023.
- Amazon, “What is cloud native? cloud native applications explained,” https://aws.amazon.com/what-is/cloud-native/, 2024, accessed: 2024-02-01.
- “Iso/iec 25010,” https://iso25000.com/index.php/en/iso-25000-standards/iso-25010, accessed: May 14, 2024.
- I. Ghani, W. M. Wan-Kadir, A. Mustafa, and M. I. Babir, “Microservice testing approaches: A systematic literature review,” International Journal of Integrated Engineering, vol. 11, no. 8, pp. 65–80, 2019.
- P. Jiang, Y. Shen, and Y. Dai, “Efficient software test management system based on microservice architecture,” in 2022 IEEE 10th Joint International Information Technology and Artificial Intelligence Conference (ITAIC), vol. 10. IEEE, 2022, pp. 2339–2343.
- B. Kitchenham and P. Brereton, “A systematic review of systematic review process research in software engineering,” Information and software technology, vol. 55, no. 12, pp. 2049–2075, 2013.
- S. H. Khandkar, “Open coding,” University of Calgary, vol. 23, no. 2009, p. 2009, 2009.
- J. Kendall, “Axial coding and the grounded theory controversy,” Western journal of nursing research, vol. 21, no. 6, pp. 743–757, 1999.
- T. Cerny., M. Chy., A. Abdelfattah., J. Soldani., and J. Bogner., “On maintainability and microservice dependencies: How do changes propagate?” in Proceedings of the 14th International Conference on Cloud Computing and Services Science - CLOSER, INSTICC. SciTePress, 2024, pp. 277–286.
- G. Y. Guo, J. M. Atlee, and R. Kazman, “A software architecture reconstruction method,” in Software Architecture: TC2 First Working IFIP Conference on Software Architecture (WICSA1) 22–24 February 1999, San Antonio, Texas, USA. Springer, 1999, pp. 15–33.
- A. S. Abdelfattah and T. Cerny, “The microservice dependency matrix,” in European Conference on Service-Oriented and Cloud Computing. Springer Nature Switzerland Cham, 2023, pp. 276–288.
- FudanSELab, “Train Ticket Wiki,” https://github.com/FudanSELab/train-ticket/wiki, Accessed: 2024.
- “Sonarqube,” https://www.sonarsource.com/products/sonarqube/, accessed: May 14, 2024.
- B. Kitchenham, R. Pretorius, D. Budgen, O. P. Brereton, M. Turner, M. Niazi, and S. Linkman, “Systematic literature reviews in software engineering–a tertiary study,” Information and software technology, vol. 52, no. 8, pp. 792–805, 2010.
- T. Cerny, A. S. Abdelfattah, A. Al Maruf, A. Janes, and D. Taibi, “Catalog and detection techniques of microservice anti-patterns and bad smells: A tertiary study,” Journal of Systems and Software, vol. 206, p. 111829, 2023.
- A. S. Abdelfattah, T. Cerny, J. Yero, E. Song, and D. Taibi, “Test coverage in microservice systems: An automated approach to e2e and api test coverage metrics,” Electronics, vol. 13, no. 10, 2024. [Online]. Available: https://www.mdpi.com/2079-9292/13/10/1913
- A. S. Abdelfattah, T. Cerny, J. Y. Salazar, A. Lehman, J. Hunter, A. Bickham, and D. Taibi, “End-to-end test coverage metrics in microservice systems: An automated approach,” in European Conference on Service-Oriented and Cloud Computing. Springer, 2023, pp. 35–51.
- T. Cerny, A. S. Abdelfattah, V. Bushong, A. Al Maruf, and D. Taibi, “Microservice architecture reconstruction and visualization techniques: A review,” in 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE). IEEE, 2022, pp. 39–48.
- K. Burgess, D. Hart, A. Elsayed, T. Cerny, M. Bures, and P. Tisnovsky, “Visualizing architectural evolution via provenance tracking: a systematic review,” in Proceedings of the Conference on Research in Adaptive and Convergent Systems, 2022, pp. 83–91.
- A. S. Abdelfattah, “Microservices-based systems visualization: student research abstract,” in Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, 2022, pp. 1460–1464.
- T. Cerny, A. S. Abdelfattah, V. Bushong, A. Al Maruf, and D. Taibi, “Microvision: Static analysis-based approach to visualizing microservices in augmented reality,” in 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE). IEEE, 2022, pp. 49–58.
- A. S. Abdelfattah, T. Cerny, D. Taibi, and S. Vegas, “Comparing 2d and augmented reality visualizations for microservice system understandability: A controlled experiment,” in 2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC). IEEE, 2023, pp. 135–145.
- A. S. Abdelfattah, A. Rodriguez, A. Walker, and T. Cerny, “Detecting semantic clones in microservices using components,” SN Computer Science, vol. 4, no. 5, p. 470, 2023.