Algorithm for detecting antipatterns in microservices projects
Research output: Chapter in Book/Report/Conference proceeding › Conference contribution › Scientific › peer-review
Details
Original language | English |
---|---|
Title of host publication | SSSME-2019 |
Subtitle of host publication | Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution |
Publisher | CEUR-WS |
Pages | 21-29 |
Number of pages | 9 |
Publication status | Published - 2019 |
Publication type | A4 Article in a conference publication |
Event | Joint of the Summer School on Software Maintenance and Evolution - Tampere, Finland Duration: 2 Sep 2019 → 4 Sep 2019 |
Publication series
Name | CEUR Workshop Proceedings |
---|---|
Volume | 2520 |
ISSN (Print) | 1613-0073 |
Conference
Conference | Joint of the Summer School on Software Maintenance and Evolution |
---|---|
Country | Finland |
City | Tampere |
Period | 2/09/19 → 4/09/19 |
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.
ASJC Scopus subject areas
Keywords
- Antipatterns, Microservices, Monolithic, Network theory