Tampere University of Technology

TUTCRIS Research Portal

Algorithm for detecting antipatterns in microservices projects

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


Original languageEnglish
Title of host publicationSSSME-2019
Subtitle of host publicationJoint Proceedings of the Inforte Summer School on Software Maintenance and Evolution
Number of pages9
Publication statusPublished - 2019
Publication typeA4 Article in a conference publication
EventJoint of the Summer School on Software Maintenance and Evolution - Tampere, Finland
Duration: 2 Sep 20194 Sep 2019

Publication series

NameCEUR Workshop Proceedings
ISSN (Print)1613-0073


ConferenceJoint of the Summer School on Software Maintenance and Evolution


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


  • Antipatterns, Microservices, Monolithic, Network theory

Publication forum classification

Field of science, Statistics Finland

Downloads statistics

No data available