🤖 AI Summary
Microservice systems are prone to architectural inconsistencies due to distributed development and continuous evolution, undermining maintainability and reliability. To address this, we propose a scalable formal verification method that—uniquely—automatically generates a formal system model from static source code via program reconstruction, and uniformly verifies cross-cutting concerns (e.g., architectural consistency, security policies) using SMT-based constraint solving. Our approach integrates static code analysis with formal modeling to enable end-to-end, automated translation from source code to verifiable logical models and subsequent deductive reasoning. Experimental evaluation demonstrates that the framework efficiently detects architectural deviations; moreover, its verification infrastructure is extensible to other quality attributes—including performance, resilience, and compliance—thereby significantly enhancing trustworthiness assurance for microservice systems.
📝 Abstract
Microservice systems are becoming increasingly adopted due to their scalability, decentralized development, and support for continuous integration and delivery (CI/CD). However, this decentralized development by separate teams and continuous evolution can introduce miscommunication and incompatible implementations, undermining system maintainability and reliability across aspects from security policy to system architecture. We propose a novel methodology that statically reconstructs microservice source code into a formal system model. From this model, a Satisfiability Modulo Theories (SMT) constraint set can be derived, enabling formal verification. Our methodology is extensible, supporting software verification across multiple cross-cutting concerns. We focus on applying the methodology to verify the system architecture concern, presenting formal reasoning to validate the methodology's correctness and applicability for this concern. Additional concerns such as security policy implementation are considered. Future directions are established to extend and evaluate the methodology.