-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path37-merged-set-of-new-literature.bib
182 lines (167 loc) · 21.8 KB
/
37-merged-set-of-new-literature.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
@InProceedings{Assuncao2021,
author = {Assuncao, Wesley K. G. and Colanzi, Thelma Elita and Carvalho, Luiz and Pereira, Juliana Alves and Garcia, Alessandro and de Lima, Maria Julia and Lucena, Carlos},
booktitle = {2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)},
title = {A Multi-Criteria Strategy for Redesigning Legacy Features as Microservices: An Industrial Case Study},
year = {2021},
month = mar,
publisher = {IEEE},
doi = {10.1109/saner50967.2021.00042},
file = {:Assuncao2021 - A Multi Criteria Strategy for Redesigning Legacy Features As Microservices_ an Industrial Case Study.pdf:PDF},
}
@Article{Desai2021,
author = {Desai, Utkarsh and Bandyopadhyay, Sambaran and Tamilselvam, Srikanth},
journal = {Proceedings of the AAAI Conference on Artificial Intelligence},
title = {Graph Neural Network to Dilute Outliers for Refactoring Monolith Application},
year = {2021},
issn = {2159-5399},
month = may,
number = {1},
pages = {72--80},
volume = {35},
doi = {10.1609/aaai.v35i1.16079},
file = {:Desai2021 - Graph Neural Network to Dilute Outliers for Refactoring Monolith Application.pdf:PDF},
publisher = {Association for the Advancement of Artificial Intelligence (AAAI)},
}
@Article{Abgaz2023,
author = {Abgaz, Yalemisew and McCarren, Andrew and Elger, Peter and Solan, David and Lapuz, Neil and Bivol, Marin and Jackson, Glenn and Yilmaz, Murat and Buckley, Jim and Clarke, Paul},
journal = {IEEE Transactions on Software Engineering},
title = {Decomposition of Monolith Applications Into Microservices Architectures: A Systematic Review},
year = {2023},
issn = {1939-3520},
month = {Aug},
number = {8},
pages = {4213-4242},
volume = {49},
abstract = {Microservices architecture has gained significant traction, in part owing to its potential to deliver scalable, robust, agile, and failure-resilient software products. Consequently, many companies that use large and complex software systems are actively looking for automated solutions to decompose their monolith applications into microservices. This paper rigorously examines 35 research papers selected from well-known databases using a Systematic Literature Review (SLR) protocol and snowballing method, extracting data to answer the research questions, and presents the following four contributions. First, the Monolith to Microservices Decomposition Framework (M2MDF) which identifies the major phases and key elements of decomposition. Second, a detailed analysis of existing decomposition approaches, tools and methods. Third, we identify the metrics and datasets used to evaluate and validate monolith to microservice decomposition processes. Fourth, we propose areas for future research. Overall, the findings suggest that monolith decomposition into microservices remains at an early stage and there is an absence of methods for combining static, dynamic, and evolutionary data. Insufficient tool support is also in evidence. Furthermore, standardised metrics, datasets, and baselines have yet to be established. These findings can assist practitioners seeking to understand the various dimensions of monolith decomposition and the community's current capabilities in that endeavour. The findings are also of value to researchers looking to identify areas to further extend research in the monolith decomposition space.},
doi = {10.1109/TSE.2023.3287297},
file = {:Abgaz2023 - Decomposition of Monolith Applications into Microservices Architectures_ a Systematic Review.pdf:PDF},
}
@Article{AlDebagy2020,
author = {Al-Debagy, O. and Martinek, P.},
journal = {Journal of Web Engineering},
title = {A Metrics Framework for Evaluating Microservices Architecture Designs},
year = {2020},
issn = {1544-5976},
month = {June},
number = {3–4},
pages = {341-370},
volume = {19},
abstract = {Microservices are becoming a more popular software architecture among companies and developers. Therefore, there is a need to develop methods for quantifying the process of measuring the quality of microservices design. This paper has created a novel set of metrics for microservices architecture applications. The proposed metrics are the Service Granularity Metric “SGM”, the Lack of Cohesion Metric “LCOM”, and the Number of Operations “NOO”. The proposed metrics measure the granularity, cohesion, and complexity of individual microservices through analyzing the application programming interface “API”. Using these metrics, it is possible to evaluate the overall quality of the design of microservices applications. The proposed metrics were measured on 5 applications with different sizes and business cases. This research found that the value for the SGM metric needs to be between 0.2 and 0.6. Besides, the value of LCOM metric for a microservice needs to be between 0 and 0.8 with less than ten operations per microservice. These findings can be applied in the decomposition process of monolithic applications as well.},
doi = {10.13052/jwe1540-9589.19341},
file = {:AlDebagy2020 - A Metrics Framework for Evaluating Microservices Architecture Designs.pdf:PDF},
}
@InProceedings{Asik2017,
author = {Asik, Tugrul and Selcuk, Yunus Emre},
booktitle = {2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA)},
title = {Policy enforcement upon software based on microservice architecture},
year = {2017},
month = {June},
pages = {283-287},
abstract = {Microservice is an architectural style that has recently started gaining popularity to become a new architectural phenomenon. Microservice architecture provides new opportunities to deploy scalable, language free and dynamically adjustable applications. This type of applications consist of hundreds or more of service instances. So that, management, monitoring, refactoring and testing of applications are more complex than monolithic applications. Therefore, some metrics and policies for measuring the quality of an application which is based on microservice architecture is needed. Moreover, automated tools are needed to carry out those tasks and enforce those policies. This work represents such metrics and policies. Additionally, an automated tool is implemented for automatic analysis of those metrics and policies upon software.},
doi = {10.1109/SERA.2017.7965739},
file = {:Asik2017 - Policy Enforcement upon Software Based on Microservice Architecture.pdf:PDF},
}
@InProceedings{Daniel2023,
author = {Daniel, João and Guerra, Eduardo and Rosa, Thatiane and Goldman, Alfredo},
booktitle = {2023 49th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)},
title = {Towards the Detection of Microservice Patterns Based on Metrics},
year = {2023},
month = {Sep.},
pages = {132-139},
abstract = {Microservices is a popular architectural approach for complex systems in companies, despite its nature of decentralization. There is a comprehensive set of microservices architectural patterns that guides implementations and helps developers to overcome issues. However, the community still scarcely adopts these patterns and only has a theoretical understanding of them. In this work, in order to increase awareness of such patterns and provide aid to developers to better understand an architecture based on microservices, we propose a detection approach based on metrics for microservices patterns. We focused on structural or architectural patterns, and implemented detection for five of them. We conducted two case studies with real-world applications and evaluated the accuracy and applicability of our approach with the developers of those applications.},
doi = {10.1109/SEAA60479.2023.00029},
file = {:Daniel2023 - Towards the Detection of Microservice Patterns Based on Metrics.pdf:PDF},
issn = {2376-9521},
}
@InProceedings{Filippone2023,
author = {Filippone, Gianluca and Qaisar Mehmood, Nadeem and Autili, Marco and Rossi, Fabrizio and Tivoli, Massimo},
booktitle = {2023 IEEE 20th International Conference on Software Architecture (ICSA)},
title = {From monolithic to microservice architecture: an automated approach based on graph clustering and combinatorial optimization},
year = {2023},
month = {March},
pages = {47-57},
abstract = {Migrating from a legacy monolithic system to a microservice architecture is a complex and time-consuming process. Software engineers may strongly benefit from automated support to identify a high-cohesive and loose-coupled set of microservices with proper granularity. The automated approach proposed in this paper extracts microservices by using graph clustering and combinatorial optimization to maximize cohesion and minimize coupling. The approach performs static analysis of the code to obtain a graph representation of the monolithic system. Then, it uses graph clustering to detect high-cohesive communities of nodes using the Louvain community algorithm. In parallel, the tool clusters the domain entities (i.e., classes representing uniquely identifiable concepts in a system domain) within bounded contexts to identify the required service granularity. Finally, it uses combinatorial optimization to minimize the coupling, hence deriving the microservice architecture. The approach is fully implemented. We applied it over four different monolithic systems and found valuable results. We evaluated the identified architectures through cohesion and coupling metrics, along with a comparison with other state-of-the-art approaches based on features such as granularity level, number of produced services, and methods applied. The approach implementation and the experimental results are publicly available.},
doi = {10.1109/ICSA56044.2023.00013},
file = {:Filippone2023 - From Monolithic to Microservice Architecture_ an Automated Approach Based on Graph Clustering and Combinatorial Optimization.pdf:PDF},
}
@InProceedings{Gamage2021,
author = {Gamage, Isuru Udara Piyadigama and Perera, Indika},
booktitle = {2021 Moratuwa Engineering Research Conference (MERCon)},
title = {Using dependency graph and graph theory concepts to identify anti-patterns in a microservices system: A tool-based approach},
year = {2021},
month = {July},
pages = {699-704},
abstract = {Microservice architecture (MSA) based application developments are becoming the common trend in implementing large-scale applications. Unlike the traditional monolith applications, MSA applications are composed of many services hence there is an immense possibility of anti-patterns introduced into the system. To identify these design problems, a detailed analysis of the architecture needs to be performed. We see great potential for adopting graph concepts and algorithms in this regard. However, the few tools proposed by existing work to find anti-patterns that adopt graph concepts are not up to providing developers with adequate statistical information such as metrics along with visualization techniques or they are not fully automated. In this research, we present a tool-based solution for this problem which is capable of utilizing traced data of an MSA system to generate dependency graphs and thereby extract metrics using graph theory concepts and algorithms. We analyze a sample MSA system for anti-patterns with the tool. To verify the usability of the tool further, a group of developers also analyze an open-source system with the tool.},
doi = {10.1109/MERCon52712.2021.9525743},
file = {:Gamage2021 - Using Dependency Graph and Graph Theory Concepts to Identify Anti Patterns in a Microservices System_ a Tool Based Approach.pdf:PDF},
issn = {2691-364X},
}
@InBook{Ntentos2021,
author = {Ntentos, Evangelos and Zdun, Uwe and Plakidas, Konstantinos and Geiger, Sebastian},
pages = {188–203},
publisher = {Springer International Publishing},
title = {Evaluating and Improving Microservice Architecture Conformance to Architectural Design Decisions},
year = {2021},
isbn = {9783030914318},
abstract = {Microservices are a commonly used architectural style targeting independent development, deployment, and release of services, as well as supporting polyglot capabilities and rapid release strategies. This depends on the presence of certain software architecture qualities. A number of architecture patterns and best practices that support the required qualities have been proposed in the literature, but usually in isolation of one another. Additionally, in real-world systems, assessing conformance to these patterns and practices and detecting possible violations is a significant challenge. For small-scale systems of a few services, a manual assessment and violation detection by an expert is probably both accurate and sufficient. However, for industrial-scale systems of several hundred or more services, manual assessment and violation detection is laborious and likely leads to inaccurate results. Furthermore, manual assessment is impractical for rapidly evolving and frequently released system architectures. In this work we examine a subset of microservice-relevant patterns, and propose a method for the semi-automatic detection and resolution of conformance violations. Our aim is to assist the software architect by providing a set of possible fix options and generating models of “fixed” architectures.},
booktitle = {Lecture Notes in Computer Science},
doi = {10.1007/978-3-030-91431-8_12},
file = {:Ntentos2021 - Evaluating and Improving Microservice Architecture Conformance to Architectural Design Decisions.pdf:PDF},
issn = {1611-3349},
url = {http://dx.doi.org/10.1007/978-3-030-91431-8_12},
}
@InProceedings{Perera2018,
author = {Perera, K. J. P. G. and Perera, I.},
booktitle = {2018 IEEE/ACIS 17th International Conference on Computer and Information Science (ICIS)},
title = {TheArchitect: A Serverless-Microservices Based High-level Architecture Generation Tool},
year = {2018},
month = {June},
pages = {204-210},
abstract = {Software is ubiquitous in today's systems and business operations. Most importantly the architecture of a software system determines its quality and longevity, because the development work related to the software system will be carried out to be in line with its architecture design. Hence, it's highly important to structure the high-level software architecture accordingly to deliver the expected customer requirements while accounting for quality measures such as scalability, high availability and high performance. We propose TheArchitect, a serverless-microservices based high-level architecture generation tool, which will auto generate serverless-microservices based high-level architecture for a given business application, preserving the highlighted quality measures providing a tool based support for the software architect with respect to designing the high-level architecture. TheArchitect will provide any software developer to generate a proper architecture minimizing the involvement of an experienced software architect. Furthermore, the positives that microservices and serverless technologies has brought to the world of software engineering has made the software engineering community shift from the era of building large monolith applications containing overly complex designs, to microservices and serverless based technologies. Hence TheArchitect focuses on generating best fitted microservices and serverless based high-level architecture for a given application.},
doi = {10.1109/ICIS.2018.8466390},
file = {:Perera2018 - TheArchitect_ a Serverless Microservices Based High Level Architecture Generation Tool.pdf:PDF},
}
@InProceedings{Perera2018a,
author = {Perera, K. J. P. G. and Perera, I.},
booktitle = {2018 IEEE International Systems Engineering Symposium (ISSE)},
title = {A Rule-based System for Automated Generation of Serverless-Microservices Architecture},
year = {2018},
month = {Oct},
pages = {1-8},
abstract = {Software being ubiquitous in today's systems and business operations, it's highly important to structure the high-level architecture of a software application accordingly to deliver the expected customer requirements while accounting for quality measures such as scalability, high availability and high performance. We propose The Architect, a rule-based system for serverless-microservices based high-level architecture generation. In the process of auto generating serverless-microservices high-level architecture, TheArchitect will preserve the highlighted quality measures. It will also provide a tool based support for the high-level architecture designing process of the software architect. Any software developer will be able to use TheArchitect to generate a proper architecture minimizing the involvement of a software architect. Furthermore, the positives of microservices and serverless technologies have made a significant impact on the software engineering community in terms of shifting from the era of building large monolith applications containing overly complex designs, to microservices and serverless based technologies. Hence The Architect focuses on generating best fitted microservices and serverless based high-level architecture for a given application.},
doi = {10.1109/SysEng.2018.8544423},
file = {:Perera2018a - A Rule Based System for Automated Generation of Serverless Microservices Architecture.pdf:PDF},
}
@Article{Zdun2023,
author = {Zdun, Uwe and Queval, Pierre-Jean and Simhandl, Georg and Scandariato, Riccardo and Chakravarty, Somik and Jelic, Marjan and Jovanovic, Aleksandar},
journal = {ACM Trans. Softw. Eng. Methodol.},
title = {Microservice Security Metrics for Secure Communication, Identity Management, and Observability},
year = {2023},
issn = {1049-331X},
month = {feb},
number = {1},
volume = {32},
abstract = {Microservice architectures are increasingly being used to develop application systems. Despite many guidelines and best practices being published, architecting microservice systems for security is challenging. Reasons are the size and complexity of microservice systems, their polyglot nature, and the demand for the continuous evolution of these systems. In this context, to manually validate that security architecture tactics are employed as intended throughout the system is a time-consuming and error-prone task. In this article, we present an approach to avoid such manual validation before each continuous evolution step in a microservice system, which we demonstrate using three widely used categories of security tactics: secure communication, identity management, and observability. Our approach is based on a review of existing security guidelines, the gray literature, and the scientific literature, from which we derived Architectural Design Decisions (ADDs) with the found security tactics as decision options. In our approach, we propose novel detectors to detect these decision options automatically and formally defined metrics to measure the conformance of a system to the different options of the ADDs. We apply the approach to a case study data set of 10 open source microservice systems, plus another 20 variants of these systems, for which we manually inspected the source code for security tactics. We demonstrate and assess the validity and appropriateness of our metrics by performing an assessment of their conformance to the ADDs in our systems’ dataset through statistical methods.},
address = {New York, NY, USA},
articleno = {16},
doi = {10.1145/3532183},
file = {:Zdun2023 - Microservice Security Metrics for Secure Communication, Identity Management, and Observability (1).pdf:PDF},
issue_date = {January 2023},
keywords = {microservice security, software architecture metrics, software architecture detectors, Microservice architecture},
numpages = {34},
publisher = {Association for Computing Machinery},
url = {https://doi.org/10.1145/3532183},
}
@Article{Zdun2023a,
author = {Zdun, Uwe and Queval, Pierre-Jean and Simhandl, Georg and Scandariato, Riccardo and Chakravarty, Somik and Jelić, Marjan and Jovanović, Aleksandar},
journal = {IEEE Transactions on Dependable and Secure Computing},
title = {Detection Strategies for Microservice Security Tactics},
year = {2023},
issn = {1941-0018},
pages = {1-17},
abstract = {Microservice architectures are widely used today to implement distributed systems. Securing microservice architectures is challenging because of their polyglot nature, continuous evolution, and various security concerns relevant to such architectures. This article proposes a novel, model-based approach providing detection strategies to address the automated detection of security tactics (or patterns and best practices) in a given microservice architecture decomposition model. Our novel detection strategies are metrics-based rules that decide conformance to a security recommendation based on a statistical predictor. The proposed approach models this recommendation using Architectural Design Decisions (ADDs). We apply our approach for four different security-related ADDs on access management, traffic control, and avoiding plaintext sensitive data in the context of microservice systems. We then apply our approach to a model data set of 10 open-source microservice systems and 20 variants of those systems. Our results are detection strategies showing a very low bias, a very high correlation, and a low prediction error in our model data set.},
doi = {10.1109/TDSC.2023.3276487},
file = {:Zdun2023a - Detection Strategies for Microservice Security Tactics.pdf:PDF},
}
@Comment{jabref-meta: databaseType:bibtex;}
@Comment{jabref-meta: fileDirectory-robin-robin-x1-carbon10:../../../pdfs;}