The goal of this project is to utilize GraalVM Native Image as a static analysis tools for microservices. In the first phase, we have extended Native Image compilation pipeline and collected information about entities, rest endpoints, and rest calls for each microservice. Then, we have merged the per-microservice data into global Service and Domain views.
High level overview of the Graal MVP infrastructure
Microservices are the mainstream architecture when designing cloud-native systems. The performance and elastic scalability of such systems are the main attraction for many vendors. Recent advancements improving microservice initialization times are related to the ahead-of-time compilation, which produces self-contained executables, significantly reducing load times. Despite recent advancements and various benefits of cloud-native systems, the evolution of such systems might be threatened by a missing system-centered view. Such a view would guide in a better contextual understanding of individual microservices and their dependencies from the holistic system perspective and aid developers in informed decisions to mitigate ripple effects. One way literature has addressed this gap is by performing Software Architecture Reconstruction (SAR), a process essential for understanding, maintaining, and evolving software systems. This paper questions whether instruments used to produce self-contained executables for microservices can be utilized for SAR, producing system-centered views. We propose a methodology for such a process, implement a proof of concept tool, MicroGraal, for the Java Platform, and assess it through a case study involving a third-party microservice system benchmark. We uncovered a system service dependency graph and a context map, comparing the approach and obtained results with source code analysis
@inproceedings{saner24,author={Hutcheson, Richard and Blanchard, Austin and Lambaria, Noah and Hale, Jack and David Kozak, Amr Elsayed and Cerny, Tomas},title={Software Architecture Reconstruction for Microservice Systems Using Static Analysis via GraalVM Native Image},year={2024},month=mar,booktitle={SANER 2024},publisher={Institute of Electrical and Electronics Engineers},url={https://conf.researchr.org/details/saner-2024/saner-2024-papers/94/Software-Architecture-Reconstruction-for-Microservice-Systems-Using-GraalVM-Native-Im},keywords={Software Architecture Reconstruction, Microservices, Service Dependency Graph, GraalVM Native Image},location={Rovaniemi, Finland},series={SANER},}