A Hierarchical-DBSCAN Method for Extracting Microservices from Monolithic Applications

06/14/2022
by   Khaled Sellami, et al.
0

The microservices architectural style offers many advantages such as scalability, reusability and ease of maintainability. As such microservices has become a common architectural choice when developing new applications. Hence, to benefit from these advantages, monolithic applications need to be redesigned in order to migrate to a microservice based architecture. Due to the inherent complexity and high costs related to this process, it is crucial to automate this task. In this paper, we propose a method that can identify potential microservices from a given monolithic application. Our method takes as input the source code of the source application in order to measure the similarities and dependencies between all of the classes in the system using their interactions and the domain terminology employed within the code. These similarity values are then used with a variant of a density-based clustering algorithm to generate a hierarchical structure of the recommended microservices while identifying potential outlier classes. We provide an empirical evaluation of our approach through different experimental settings including a comparison with existing human-designed microservices and a comparison with 5 baselines. The results show that our method succeeds in generating microservices that are overall more cohesive and that have fewer interactions in-between them with up to 0.9 of precision score when compared to human-designed microservices.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/16/2023

Automate migration to microservices architecture using Machine Learning techniques

The microservice architectural style has many advantages such as scalabi...
research
09/23/2018

Which Source Code Plagiarism Detection Approach is More Humane?

This paper contributes in developing source code plagiarism detection th...
research
03/15/2018

Using StackOverflow content to assist in code review

An important goal for programmers is to minimize cost of identifying and...
research
10/08/2018

Hierarchical clustering that takes advantage of both density-peak and density-connectivity

This paper focuses on density-based clustering, particularly the Density...
research
07/21/2023

Identifying document similarity using a fast estimation of the Levenshtein Distance based on compression and signatures

Identifying document similarity has many applications, e.g., source code...
research
03/16/2021

From Innovations to Prospects: What Is Hidden Behind Cryptocurrencies?

The great influence of Bitcoin has promoted the rapid development of blo...

Please sign up or login with your details

Forgot password? Click here to reset