Automated Microservice Pattern Instance Detection Using Infrastructure-as-Code Artifacts and Large Language Models
Carlos Eduardo Duarte
TL;DR
Architecture knowledge preservation is challenging when reliant on source code alone. The authors propose MicroPAD, a tool that uses Infrastructure-as-Code artifacts and Large Language Models to detect microservice pattern instances. Initial experiments run MicroPAD on 22 GitHub repositories with three runs per repo and find 83 percent of detected patterns present, with low costs. The work suggests this approach can democratize access to architecture knowledge and reduce effort needed for documentation, while preserving data privacy by focusing on IaC artifacts. Future work aims to broaden artifact coverage, improve accuracy, scale to more patterns, and develop a web interface.
Abstract
Documenting software architecture is essential to preserve architecture knowledge, even though it is frequently costly. Architecture pattern instances, including microservice pattern instances, provide important structural software information. Practitioners should document this information to prevent knowledge vaporization. However, architecture patterns may not be detectable by analyzing source code artifacts, requiring the analysis of other types of artifacts. Moreover, many existing pattern detection instance approaches are complex to extend. This article presents our ongoing PhD research, early experiments, and a prototype for a tool we call MicroPAD for automating the detection of microservice pattern instances. The prototype uses Large Language Models (LLMs) to analyze Infrastructure-as-Code (IaC) artifacts to aid detection, aiming to keep costs low and maximize the scope of detectable patterns. Early experiments ran the prototype thrice in 22 GitHub projects. We verified that 83\% of the patterns that the prototype identified were in the project. The costs of detecting the pattern instances were minimal. These results indicate that the approach is likely viable and, by lowering the entry barrier to automating pattern instance detection, could help democratize developer access to this category of architecture knowledge. Finally, we present our overall research methodology, planned future work, and an overview of MicroPAD's potential industrial impact.
