System Under Oath
Learning Microservice Architectures
M.M.M. Koper ook geschreven Jansen (TU Delft - Electrical Engineering, Mathematics and Computer Science)
S.E. Verwer – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Lars de Kroon – Mentor
B. Özkan – Graduation committee member (TU Delft - Electrical Engineering, Mathematics and Computer Science)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Stateful learning techniques are crucial for the verification and validation of complex software systems. As the world becomes increasingly reliant on software, the need for secure and reliable applications continues to grow. Previous work on stateful learning has primarily focused on monolithic systems, leaving the application of these techniques to microservice architectures largely unexplored. This is despite their widespread use in modern software development.
This thesis investigates the challenges associated with learning systems based on microservice architectures. First, we present a framework for generating valid API requests across interacting services. Next, we address system flakiness during learning through the introduction of Two-Phase Equivalence Querying with adaptive sampling. Finally, to explain the non-deterministic behavior observed in microservice systems, we introduce the concept of State Drift, which captures state changes caused by internal communication between services.
To conclude this thesis, we apply the techniques developed throughout this work to a real-world software system. The system learned is an implementation of OAuth provided by Ubiqu. This case study demonstrates how our proposed techniques can be used in industry and highlights the practical challenges that remain when applying stateful learning to microservice architectures.