Software Architecture Reconstruction from Bytecode

The Software Architecture Reconstruction (SAR) technology employing bytecode represents a significant advancement in the understanding, maintenance, and evolution of software systems. This innovative approach leverages existing tools used in the creation of self-contained executables for microservices, repurposing and enhancing their capabilities for SAR. The technology generates system-centered views through a methodology implemented in a proof-of-concept tool, utilizing MicroGraal on the Java Platform. The process involves a case study with a third-party microservice system benchmark, producing outputs such as a system service dependency graph (SDG) and a context map. This technology offers a unique perspective on software architecture, comparing its effectiveness and results with traditional source code analysis methods.

Background: 
The Software Architecture Reconstruction (SAR) technology using bytecode addresses the challenge of comprehending, maintaining, and evolving complex software systems, particularly in the context of microservices. 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. Current solutions often rely on source code analysis tools, which can be time-consuming and challenging to implement comprehensively. The SAR technology offers a more efficient and holistic approach by repurposing existing tools for generating self-contained executables. Its effectiveness becomes particularly evident in its application to third-party microservice system benchmarks, showcasing its superiority in producing valuable insights compared to conventional approaches.

Applications: 

  • Software development
  • Microservice architecture 


Advantages: 

  • Improved efficiency
  • Resource optimization
  • Increased practicality 
Patent Information: