Master Thesis Project Leads to Conference Publication on Microservice Architecture Anti-Patterns at SEAA 2024

I am delighted to announce that our paper, “Graph-based Anti-Pattern Detection in Microservice Applications,” has been accepted for publication at the 50th Euromicro Conference Series on Software Engineering and Advanced Applications (SEAA). This paper stems from Amund Lunke Røhne’s master thesis project, which he conducted as an internship with TNO-ESI under the supervision of myself and Ben Pronk. This achievement showcases how exceptional work by master students can lead to publications in established conferences.

Our paper addresses a significant challenge in the evolution of microservice applications: as the microservice architecture evolves, architectural anti-patterns may emerge. These anti-patterns are challenging to detect and manage due to their informal natural language definitions and the lack of automated tools. To tackle this, we propose an automated methodology for detecting architectural anti-patterns related to microservice dependencies. A key component of this methodology is the novel Granular Hardware Utilization-Based Service Dependency Graph (GHUBS) model, which is automatically inferred from telemetry data. We have formalized three commonly known anti-patterns and developed algorithms to detect them within the GHUBS model. This methodology is supported by an open-source tool that automatically identifies and visualizes these anti-patterns. We validated our approach using both synthetic data and a case study of a popular microservice benchmarking suite, demonstrating successful detection of the formalized anti-patterns.

Congratulations to Amund on the acceptance of your paper! Your work has made both TNO-ESI and the Software Engineering program at the University of Amsterdam very proud!

Merrick Oost-Rosengren Successfully Defends Thesis on Early Component Verification using Colored Petri Nets

Just before the summer holidays, another master student has finished his project. This time, it is Merrick Oost-Rosengren who successfully defended his thesis “Formal Verification of Components through Mirroring of Coloured Petri Nets“. Parts of this work was done as an internship with TNO-ESI in collaboration with Thales.

This research addresses a challenge in distributed component-based systems, where different components are developed by different teams, perhaps even different organizations, over time. The problem is that when components are ultimately integrated, their interactions may cause deadlocks, livelock, or unbounded memory behavior. Fixing such problems late in the development process is very costly. An alternative approach is to model components, or component interfaces, early in the design process and use model checking to verify the behavior of the component and its interactions. However, we may not know which components it will interact with yet. Perhaps they have not yet been developed?

The thesis addresses this challenge by proposing a methodology and corresponding tool chain, where components as modelled as Colored Petri Nets from which a verification model, a mirror of the component that captures relevant possible behaviors of interacting components, is automatically generated. As a part of the methodology, the thesis proposes a new class of Colored Petri Nets called Mirrorable Open Colored Petri Nets. This class combines features of existing Colored Petri Nets and Open Petri Nets, and also adds extra semantics to allow the component to be mirrored. It also describes methods for mirroring such a net and fusing the mirror with the original component, such that the components and its interactions can be verified using reachability analysis.

We congratulate Merrick on his successful defense and wish him a lovely summer!