Incremental Software Architecture Reconstruction

Case ID:
UA25-118
Invention:

This invention provides a solution for managing and analyzing the evolution of software architectures in systems built with microservices. It introduces an incremental approach to software architecture reconstruction, enabling continuous tracking and updating of system changes. This process creates a clear, up-to-date representation of how microservices interact, making it easier to identify potential issues, such as code conflicts or unintended ripple effects that can impact overall system performance. By focusing on "deltas," or changes between system versions, this technology helps developers efficiently analyze the effects of updates without the need for a complete system overhaul. It supports decentralized development teams by offering insights into how localized changes in one microservice may affect the broader architecture. This architecture’s emphases on maintainability and reliability make it an essential tool for modern cloud-based and distributed software systems.

Background: 
This technology addresses the challenge of managing changes in decentralized, microservice-based software systems. Microservice architectures have become vital to modern cloud-native systems because of their scalability and modularity. In such systems, updates to one microservice can create unintended ripple effects across the architecture, leading to conflicts, system degradation, or failures. Existing solutions often rely on static analysis or manual review processes, which are time-consuming, prone to errors, and lack the ability to provide a holistic view of how changes propagate across a complex, interconnected system. Tools like SonarCloud or similar static code analysis platforms only focus on individual code repositories and cannot account for system-wide dependencies or interactions. Unlike traditional methods, this technology offers an incremental approach to software architecture reconstruction. By tracking and analyzing the changes between system versions, it provides a dynamic and continuous view of the architecture's evolution. This approach not only identifies direct impacts of changes but also anticipates potential indirect effects, offering a level of insight and efficiency not available with existing tools. It bridges the gap between localized microservice updates and their broader implications, making it a valuable asset for maintaining the reliability and scalability of cloud-native systems. 

Applications: 

  • Cloud-native and distributed software systems
  • Microservices-based architecture management
  • DevOps pipelines


Advantages: 

  • Provides a continuous, real-time view of software architecture evolution
  • Identifies both direct and indirect impacts of changes, improving system reliability
  • Component-level API evolution
Patent Information:
Contact For More Information:
Scott Zentack
Licensing Manager, College of Engr
The University of Arizona
zentack@arizona.edu
Lead Inventor(s):
Tomas Cerny
Gabriel Goulis
Amr Abdelfattah
Keywords: