Static analysis-based software architecture reconstruction and its applications in microservices.


Microservice architecture (MSA) is the predominant building block of modern cloud-based enterprise applications. MSA has several advantages over monolithic applications like scalability and maintainability, but it comes with some downsides. Modern enterprise applications consist of hundreds of individual microservices and lack a unified view. Due to this lack of unified view and distributed nature, security and anomaly assessments are harder to automate for MSA. Software Architecture Reconstruction (SAR) can be used to construct a centralized perspective for MSA. This thesis proposes an approach to automate the process of SAR using static code analysis. Also, we extend SAR for containerized microservices which are typically deployed and managed using dedicated orchestration tools like Kubernetes. In addition, we demonstrate two applications of SAR in MSA: Role-Based Access Control (RBAC) inconsistency detection and code smell detection. Finally, we verify our approach through case studies on two real-world benchmark projects.



Software architecture reconstruction. SAR. Static analysis. Code analysis. Bytecode analysis. RBAC. Code smell. Container. Microservice.