# On Microservice Analysis and Architecture Evolution:
## 3 Methods and Materials
Next, we crafted a query to search for relevant works to answer these questions, manually filtering out results we found not applicable, with the inclusion and exclusion criteria defined below. Finally, we analyzed the remaining results and extracted a categorization of the works to answer our research questions. Next, we defined our query. The primary terms are \"_microservice_\" or \"_microservices_\". We chose secondary terms to identify those results that addressed \"_analysis_\" or \"_analyzing_\" and architectural challenges in microservices. In particular, for architectural challenges, we searched for works that address issues of \"_architecture degradation_\", equivalently called \"_architecture erosion_\" or \"_architecture degeneration_\" in the literature. Next, we considered works on \"_architecture reconstruction_\" of microservice systems. We further identified works that addressed \"_technical debt_\" in microservices, as this is closely linked to changes in the architecture. Thus, our query was structured as follows:  
(\"microservice\" OR \"microservices\") AND (\"analysis\" OR \"analyzing\" OR \"architecture reconstruction\" OR \"architecture degradation\" OR \"architecture erosion\" OR \"architecture degeneration\" OR \"technical debt\")  
To obtain the most recent and relevant results, and to narrow the scope of the research, we limited the search results only to the years 2018-2021. We applied this query to six major indexing sites: the ACM Digital Library, IEEE Xplore, SpringerLink, Elsevier ScienceDirect, MDPI, and Wiley. From the initial results, we manually vetted the works further based on their actual relevance. Specifically, we applied the following _inclusion criteria_ to determine if a work belonged in the study:  
1. Papers that performed program analysis on microservice-based systems in some capacity with the goal of extracting some information about the system. 2. Papers with analysis that was designed for or was being discussed in the context of microservices specifically. 3. Papers that discussed and addressed challenges associated with microservice analysis. 4. Papers that described a benchmark microservice system intended for use as a testbed. 5. Papers with full text available in the selected databases. 6. Papers published in last three years (2018-2021). We further applied the following _exclusion criteria_ to eliminate works not relevant:  
1. Papers that presented tools or methods designed to directly assist or participate in the operation of the microservice system (as opposed to strictly analyzing and extracting information from it). 2. Papers describing a specific implementation of a real-world microservice system not intended as a benchmark. 3. Papers without specific output, suggestions, or opinions regarding microservice analysis without experiments or robust proposed methods. 4. Papers without full text available in the selected databases. 5. Papers not presented in the English language. 6. Papers not from peer-reviewed sources. The initial and manually filtered search results of the query are shown in Table 2. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Indexer** & **All Search Results** & **Filtered Works Used in This Study** \\ \hline ACM DL & 785 & 11 \\ IEEE Xplore & 364 & 17 \\ ScienceDirect & 650 & 6 \\ SpringerLink * & 368 & 19 \\ MDPI & 28 & 1 \\ Wiley & 13 & 1 \\ \hline Total & 2208 & 55 \\ \hline \hline \end{tabular} \({}^{*}\) Limited to available full texts.  
\end{table} 
Table 2: Search results from the query applied across scientific indexes, all results and filtered results assessed in this study. Refer to Table 3 for specific works and classification. \begin{table}
\begin{tabular}{l c