Tampere University of Technology

TUTCRIS Research Portal

Algorithm for detecting antipatterns in microservices projects

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Standard

Algorithm for detecting antipatterns in microservices projects. / Borges, Rodrigo; Khan, Tanveer.

SSSME-2019: Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution. CEUR-WS, 2019. p. 21-29 (CEUR Workshop Proceedings; Vol. 2520).

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Harvard

Borges, R & Khan, T 2019, Algorithm for detecting antipatterns in microservices projects. in SSSME-2019: Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution. CEUR Workshop Proceedings, vol. 2520, CEUR-WS, pp. 21-29, Joint of the Summer School on Software Maintenance and Evolution, Tampere, Finland, 2/09/19.

APA

Borges, R., & Khan, T. (2019). Algorithm for detecting antipatterns in microservices projects. In SSSME-2019: Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution (pp. 21-29). (CEUR Workshop Proceedings; Vol. 2520). CEUR-WS.

Vancouver

Borges R, Khan T. Algorithm for detecting antipatterns in microservices projects. In SSSME-2019: Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution. CEUR-WS. 2019. p. 21-29. (CEUR Workshop Proceedings).

Author

Borges, Rodrigo ; Khan, Tanveer. / Algorithm for detecting antipatterns in microservices projects. SSSME-2019: Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution. CEUR-WS, 2019. pp. 21-29 (CEUR Workshop Proceedings).

Bibtex - Download

@inproceedings{0198e7a7bf5843ebaf48335e4cef63e9,
title = "Algorithm for detecting antipatterns in microservices projects",
abstract = "When migrating from a monolithic to a microservice-based architecture, one need to know patterns and antipatterns in order not to propagate old practices learned from centralized systems to a new structure where services are independent and distributed. We select 5 known antipatterns in microservices-based solutions and propose an algorithm for detecting them automatically. In a first round, all classes, methods and imports are registered and associated to its location in the source code. In a second round the usage of these resources is mapped and antipatterns are detected. The algorithm is also responsible for generating visual output of how resources are used in the project, so the developers can manage how resources are distributed in different files or concentrated in few ones. The solution can avoid common mistakes when deploying microservices-based projects and can help project managers to get an overview of the system as a whole. The algorithm is tested in a well-known open source project revealing possible improvements and resource allocation information.",
keywords = "Antipatterns, Microservices, Monolithic, Network theory",
author = "Rodrigo Borges and Tanveer Khan",
note = "jufoid=53269 dupl=51441498",
year = "2019",
language = "English",
series = "CEUR Workshop Proceedings",
publisher = "CEUR-WS",
pages = "21--29",
booktitle = "SSSME-2019",

}

RIS (suitable for import to EndNote) - Download

TY - GEN

T1 - Algorithm for detecting antipatterns in microservices projects

AU - Borges, Rodrigo

AU - Khan, Tanveer

N1 - jufoid=53269 dupl=51441498

PY - 2019

Y1 - 2019

N2 - When migrating from a monolithic to a microservice-based architecture, one need to know patterns and antipatterns in order not to propagate old practices learned from centralized systems to a new structure where services are independent and distributed. We select 5 known antipatterns in microservices-based solutions and propose an algorithm for detecting them automatically. In a first round, all classes, methods and imports are registered and associated to its location in the source code. In a second round the usage of these resources is mapped and antipatterns are detected. The algorithm is also responsible for generating visual output of how resources are used in the project, so the developers can manage how resources are distributed in different files or concentrated in few ones. The solution can avoid common mistakes when deploying microservices-based projects and can help project managers to get an overview of the system as a whole. The algorithm is tested in a well-known open source project revealing possible improvements and resource allocation information.

AB - When migrating from a monolithic to a microservice-based architecture, one need to know patterns and antipatterns in order not to propagate old practices learned from centralized systems to a new structure where services are independent and distributed. We select 5 known antipatterns in microservices-based solutions and propose an algorithm for detecting them automatically. In a first round, all classes, methods and imports are registered and associated to its location in the source code. In a second round the usage of these resources is mapped and antipatterns are detected. The algorithm is also responsible for generating visual output of how resources are used in the project, so the developers can manage how resources are distributed in different files or concentrated in few ones. The solution can avoid common mistakes when deploying microservices-based projects and can help project managers to get an overview of the system as a whole. The algorithm is tested in a well-known open source project revealing possible improvements and resource allocation information.

KW - Antipatterns

KW - Microservices

KW - Monolithic

KW - Network theory

M3 - Conference contribution

T3 - CEUR Workshop Proceedings

SP - 21

EP - 29

BT - SSSME-2019

PB - CEUR-WS

ER -