Document Open Access Logo

Microservice-Aware Static Analysis: Opportunities, Gaps, and Advancements

Authors Tomas Cerny , Davide Taibi



PDF
Thumbnail PDF

File

OASIcs.Microservices.2020-2022.2.pdf
  • Filesize: 1.36 MB
  • 14 pages

Document Identifiers

Author Details

Tomas Cerny
  • Systems and Industrial Engineering, University of Arizona, Tucson, AZ, USA
Davide Taibi
  • Oulu University, Finland

Cite AsGet BibTex

Tomas Cerny and Davide Taibi. Microservice-Aware Static Analysis: Opportunities, Gaps, and Advancements. In Joint Post-proceedings of the Third and Fourth International Conference on Microservices (Microservices 2020/2022). Open Access Series in Informatics (OASIcs), Volume 111, pp. 2:1-2:14, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)
https://doi.org/10.4230/OASIcs.Microservices.2020-2022.2

Abstract

Microservice architecture is the mainstream to fuel cloud-native systems with small service sets developed and deployed independently. The independent nature of this modular architecture also leads to challenges and gaps practitioners did not face in system monoliths. One of the major challenges with decentralization and its independent microservices that are managed by separate teams is that the evolving system architecture easily deviates far from the original plans, and it becomes difficult to maintain. Literature often refers to this process as system architecture degradation. Especially in the context of microservices, available tools are limited. This article challenges the audience on how static analysis could contribute to microservice system development and management, particularly managing architectural degradation. It elaborates on challenges and needed changes in the traditional code analysis to better fit these systems. Consequently, it discusses implications for practitioners once robust static analysis tools become available.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Distributed architectures
  • Computer systems organization → Cloud computing
  • Software and its engineering → Automated static analysis
Keywords
  • Microservice Architecture
  • Static Analysis
  • Reasoning
  • Decentralization

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Amr S Abdelfattah and Tomas Cerny. The microservice dependency matrix. CoRR, abs/2309.02804, 2023. URL: https://doi.org/10.48550/ARXIV.2309.02804.
  2. Amr S. Abdelfattah and Tomas Cerny. Roadmap to reasoning in microservice systems: A rapid review. Applied Sciences, 13(3), 2023. Google Scholar
  3. Amr S Abdelfattah, Tomas Cerny, Davide Taibi, and Sira 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), pages 135-145, 2023. URL: https://doi.org/10.1109/ICPC58990.2023.00028.
  4. Abdullah Al Maruf, Alexander Bakhtin, Tomas Cerny, and Davide Taibi. Using microservice telemetry data for system dynamic analysis. In 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pages 29-38. IEEE, 2022. URL: https://doi.org/10.1109/SOSE55356.2022.00010.
  5. J. Bogner, J. Fritzsch, S. Wagner, and A. Zimmermann. Industry practices and challenges for the evolvability assurance of microservices. Empirical Software Engineering, 26(5):104, 2021. URL: https://doi.org/10.1007/S10664-021-09999-9.
  6. V. Bushong, D. Das, and T. Cerny. Reconstructing the holistic architecture of microservice systems using static analysis. In Int. Conf. on Cloud Computing and Services Science (CLOSER), 2022. URL: https://doi.org/10.5220/0011032100003200.
  7. Vincent Bushong, Diptal Das, and Tomas Cerny. Reconstructing the holistic architecture of microservice systems using static analysis. In Proceedings of the 12th International Conference on Cloud Computing and Services Science - CLOSER, pages 149-157, 2022. URL: https://doi.org/10.5220/0011032100003200.
  8. John Carnell and Illary Huaylupo Sánchez. Spring microservices in action. Manning Publications Co., 2nd ed. Shelter Island, NY, USA, 2021. URL: https://www.manning.com/books/spring-microservices-in-action-second-edition.
  9. Tomas Cerny. Aspect-oriented challenges in system integration with microservices, soa and iot. Enterprise Information Systems, 13(4):467-489, 2019. URL: https://doi.org/10.1080/17517575.2018.1462406.
  10. Tomas Cerny. Microservice Testbed for Texas Teacher Examination, 2020. https://github.com/cloudhubs/tms2020, last accessed 1/2/2022.
  11. Tomas Cerny, Amr S. Abdelfattah, Vincent Bushong, Abdullah Al Maruf, and Davide Taibi. Microservice architecture reconstruction and visualization techniques: A review. In 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pages 39-48, 2022. URL: https://doi.org/10.1109/SOSE55356.2022.00011.
  12. Tomas Cerny, Amr S. Abdelfattah, Vincent Bushong, Abdullah Al Maruf, and Davide Taibi. Microvision: Static analysis-based approach to visualizing microservices in augmented reality. In 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pages 49-58, 2022. URL: https://doi.org/10.1109/SOSE55356.2022.00012.
  13. Tomas Cerny, Amr S. Abdelfattah, Abdullah Al Maruf, Andrea Janes, and Davide Taibi. Catalog and detection techniques of microservice anti-patterns and bad smells: A tertiary study. Journal of Systems and Software, page 111829, 2023. URL: https://doi.org/10.1016/J.JSS.2023.111829.
  14. Tomas Cerny, Jan Svacina, Dipta Das, Vincent Bushong, Miroslav Bures, Pavel Tisnovsky, Karel Frajtak, Dongwan Shin, and Jun Huang. On code analysis opportunities and challenges for enterprise systems and microservices. IEEE Access, 8:159449-159470, 2020. URL: https://doi.org/10.1109/ACCESS.2020.3019985.
  15. Luís Cruz-Filipe and Fabrizio Montesi. Procedural choreographic programming. In Formal Techniques for Distributed Objects, Components, and Systems: 37th IFIP WG 6.1 International Conference, FORTE 2017, Held as Part of the 12th International Federated Conference on Distributed Computing Techniques, DisCoTec 2017, Neuchâtel, Switzerland, June 19-22, 2017, Proceedings 37, pages 92-107. Springer, 2017. URL: https://doi.org/10.1007/978-3-319-60225-7_7.
  16. Luís Cruz-Filipe, Fabrizio Montesi, and Marco Peressotti. A formal theory of choreographic programming. Journal of Automated Reasoning, 67(2):21, 2023. URL: https://doi.org/10.1007/S10817-023-09665-3.
  17. D. Das, A. Walker, V. Bushong, J. Svacina, T. Cerny, and V. Matyas. On automated rbac assessment by constructing a centralized perspective for microservice mesh. PeerJ Computer Science, 7:e376, 2021. URL: https://doi.org/10.7717/PEERJ-CS.376.
  18. Amr Elsayed, Tomas Cerny, Jorge Yero Salazar, Austin Lehman, Joshua Hunter, Ashley Bickham, and Davide Taibi. End-to-end test coverage metrics in microservice systems: An automated approach. CoRR, abs/2308.09257, 2023. URL: https://doi.org/10.48550/ARXIV.2308.09257.
  19. Silvia Esparrachiari, Tanya Reilly, and Ashleigh Rentz. Tracking and controlling microservice dependencies. Queue, 16(4):10:44-10:65, aug 2018. URL: https://doi.org/10.1145/3277539.3277541.
  20. Y. Gan, Y. Zhang, D. Cheng, A. Shetty, P. Rathi, N. Katarki, A. Bruno, J. Hu, B. Ritchken, B. Jackson, K. Hu, M. Pancholi, Y. He, B. Clancy, C. Colen, F. Wen, C. Leung, S. Wang, L. Zaruvinsky, M. Espinosa, R. Lin, Z. Liu, J. Padilla, and C. Delimitrou. An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems. In Int. Conf. on Architectural Support for Programming Languages and Operating Systems, 2019. URL: https://doi.org/10.1145/3297858.3304013.
  21. Mia E Gortney, Patrick E Harris, Tomas Cerny, Abdullah Al Maruf, Miroslav Bures, Davide Taibi, and Pavel Tisnovsky. Visualizing microservice architecture in the dynamic perspective: A systematic mapping study. IEEE Access, 2022. URL: https://doi.org/10.1109/ACCESS.2022.3221130.
  22. G. Granchelli, M. Cardarelli, P. D. Francesco, I. Malavolta, L. Iovino, and A. D. Salle. Towards recovering the software architecture of microservice-based systems. In 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pages 46-53, 2017. URL: https://doi.org/10.1109/ICSAW.2017.48.
  23. L. Han, A. L. Kashyap, T. Finin, J. Mayfield, and J. Weese. UMBC_EBIQUITY-CORE: Semantic textual similarity systems. In Conf. on Lexical and Computational Semantics, 2013. URL: https://aclanthology.org/S13-1005/.
  24. P. Harris, M. Gortney, A.S. Abdelfattah, and Tomas Cerny. Designing a system-centered view to microservices using service dependency graphs: Elaborating on 2d and 3d visualization. In The Recent Advances in Transdisciplinary Data Science: First Southwest Data Science Conference, SDSC 2022, Waco, TX, USA, March 25-26, 2022, Revised Selected Papers, 2023. Google Scholar
  25. A. Huizinga, G. Parker, A.S. Abdelfattah, X Li, T. Cerny, and D. Taibi. Detecting microservice anti-patterns using interactive service call graphs: Effort assessment. In The Recent Advances in Transdisciplinary Data Science: First Southwest Data Science Conference, SDSC 2022, Waco, TX, USA, March 25-26, 2022, Revised Selected Papers, 2023. Google Scholar
  26. Austin Huizinga, Hossain Chy, Md Showkat, Harris Patrick, Parker Garrett, Mia Gortney, Cerny Tomas, Dario Amoroso d'Aragona, and Taibi Davide. Microprospect: Visualizing microservice system architecture evolution and anti-patterns. In Software Architecture. ECSA 2023 Tracks and Workshops, 2023. Google Scholar
  27. A. Ibrahim, S. Bozhinoski, and A. Pretschner. Attack graph generation for microservice architecture. In Symposium on Applied Computing, 2019. URL: https://doi.org/10.1145/3297280.3297401.
  28. Mohammad Rahman Imranur, Sebastiano Panichella, and Davide Taibi. A curated dataset of microservices-based systems. In Joint Proceedings of the Summer School on Software Maintenance and Evolution. CEUR-WS, sep 2019. URL: http://arxiv.org/abs/1909.03249.
  29. Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-oriented programming. In ECOOP'97—Object-Oriented Programming: 11th European Conference Jyväskylä, Finland, June 9-13, 1997 Proceedings 11, pages 220-242. Springer, 1997. URL: https://doi.org/10.1007/BFB0053381.
  30. Luka Lelovic, Michael Mathews, Amr Abdelfattah, and Tomas Cerny. Microservices architecture language for describing service view. In 13th International Conference on Cloud Computing and Services Science (CLOSER 2023), 2023. URL: https://doi.org/10.5220/0011850200003488.
  31. S. Ma, C. Fan, Y. Chuang, W. Lee, S. Lee, and N. Hsueh. Using service dependency graph to analyze and test microservices. In 42nd Annual Computer Software and Applications Conf., 2018. URL: https://doi.org/10.1109/COMPSAC.2018.10207.
  32. Liam O'Brien, Christoph Stoermer, and Chris Verhoef. Software architecture reconstruction: Practice needs and current approaches. Technical report, Carnegie Mellon University, jan 2002. URL: https://doi.org/10.1184/R1/6583982.v1.
  33. Sebastiano Panichella, Mohammad Rahman Imranur, and Davide Taibi. Structural coupling for microservices. In 11th International Conference on Cloud Computing and Services Science, apr 2021. URL: https://doi.org/10.5220/0010481902800287.
  34. Garrett Parker, Samuel Kim, Abdullah Al Maruf, Tomas Cerny, Karel Frajtak, Pavel Tisnovsky, and Davide Taibi. Visualizing anti-patterns in microservices at runtime: A systematic mapping study. IEEE Access, 2023. URL: https://doi.org/10.1109/ACCESS.2023.3236165.
  35. Ilaria Pigazzini, Francesca Arcelli Fontana, Valentina Lenarduzzi, and Davide Taibi. Towards microservice smells detection. In Proceedings of the 3rd International Conference on Technical Debt, TechDebt '20, pages 92-97, New York, NY, USA, 2020. URL: https://doi.org/10.1145/3387906.3388625.
  36. F. Rademacher, S. Sachweh, and A. Zündorf. A modeling method for systematic architecture reconstruction of microservice-based software systems. In Enterprise, Business-Process and Information Systems Modeling. Springer International Publishing, 2020. URL: https://doi.org/10.1007/978-3-030-49418-6_21.
  37. Micah Schiewe, Jacob Curtis, Vincent Bushong, and Tomas Cerny. Advancing static code analysis with language-agnostic component identification. IEEE Access, 10:30743-30761, 2022. URL: https://doi.org/10.1109/ACCESS.2022.3160485.
  38. Sheldon Smith, Ethan Robinson, Timmy Frederiksen, Trae Stevens, Tomas Cerny, Miroslav Bures, and Davide Taibi. Benchmarks for end-to-end microservices testing. CoRR, abs/2306.05895, 2023. URL: https://doi.org/10.48550/ARXIV.2306.05895.
  39. J. Soldani, G. Muntoni, D. Neri, and A. Brogi. The ntosca toolchain: Mining, analyzing, and refactoring microservice-based architectures. Sw. Practice and Experience, 51(7):1591-1621, 2021. URL: https://doi.org/10.1002/SPE.2974.
  40. Jan Svacina, Vincent Bushong, Dipta Das, and Tomás Cerný. Semantic code clone detection method for distributed enterprise systems. In Maarten van Steen, Donald Ferguson, and Claus Pahl, editors, Proceedings of the 12th International Conference on Cloud Computing and Services Science, CLOSER 2022,, Online Streaming, April 27-29, 2022, pages 27-37. SCITEPRESS, 2022. URL: https://doi.org/10.5220/0011032200003200.
  41. Davide Taibi and Kari Systä. A decomposition and metric-based evaluation framework for microservices. In Cloud Computing and Services Science, pages 133-149, Cham, 2019. Springer International Publishing. URL: https://doi.org/10.1007/978-3-030-49432-2_7.
  42. Davide Taibi and Kari Systä. From monolithic systems to microservices: A decomposition framework based on process mining. In Proceedings of the 9th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,, pages 153-164. INSTICC, SciTePress, 2019. URL: https://doi.org/10.5220/0007755901530164.
  43. J Thalheim, A Rodrigues, I.E. Akkus, P Bhatotia, Rm Chen, B. Viswanath, L. Jiao, and C. Fetzer. Sieve: Actionable insights from monitored metrics in distributed systems. In Middleware, 2017. URL: https://doi.org/10.1145/3135974.3135977.
  44. A. Walker, D. Das, and T. Cerny. Automated code-smell detection in microservices through static analysis: A case study. Applied Sciences, 10(21), 2020. URL: https://doi.org/10.3390/app10217800.
  45. A. Walker, I. Laird, and T. Cerny. On automatic software architecture reconstruction of microservice applications. Information Science and Applications, 2021. Google Scholar
  46. Adam Wiggins. The twelve-factor app, 2017. https://12factor.net/, last accessed 1/2/2022. URL: https://12factor.net/.
  47. X. Zhou, X. Peng, T. Xie, J. Sun, C. Xu, C. Ji, and W. Zhao. Benchmarking microservice systems for software engineering research. In 40th Int. Conf.Software Engineering: Comp., 2018. URL: https://doi.org/10.1145/3183440.3194991.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail