Logo image
Service Candidate Identification from Monolithic Systems Based on Execution Traces
Journal article   Open access

Service Candidate Identification from Monolithic Systems Based on Execution Traces

Wuxia Jin, Ting Liu, Yuanfang Cai, Rick Kazman, Ran Mo and Qinghua Zheng
IEEE transactions on software engineering, v 47(5), pp 987-1007
01 May 2021
url
https://doi.org/10.1109/tse.2019.2910531View
Accepted (AM)Open Access (Publisher-Specific) Open

Abstract

Atomic measurements Computer architecture evolvability execution trace Frequency measurement functionality History Microservice modularity monolith decomposition service candidate Software Testing
Monolithic systems increasingly suffer from maintainability and scalability issues as they grow in functionality, size, and complexity. It is widely believed that (micro)service-based architectures can alleviate these problems as each service is supposed to have the following characteristics: clearly defined functionality , sufficient modularity , and the ability to evolve independently . Industrial practices show that service extraction from a legacy monolithic system is labor-intensive and complex. Existing work on service candidate identification aims to group entities of a monolithic system into potential service candidates, but this process has two major challenges: first, it is difficult to extract service candidates with consistent quality; second, it is hard to evaluate the identified service candidates regarding the above three characteristics. To address these challenges, this paper proposes the Functionality-oriented Service Candidate Identification ( FoSCI ) framework to identify service candidates from a monolithic system. Our approach is to record the monolith's execution traces, and extract services candidates using a search-based functional atom grouping algorithm. We also contribute a comprehensive service candidate evaluation suite that uses interface information, structural/conceptual dependency, and commit history. This evaluation system consists of 8 metrics, measuring functionality, modularity, and evolvability respectively of identified service candidates. We compare FoSCI with three existing methods, using 6 widely-used open-source projects as our evaluation subjects. Our results show that FoSCI outperforms existing methods in most measures.

Metrics

22 Record Views
89 citations in Scopus

Details

UN Sustainable Development Goals (SDGs)

This publication has contributed to the advancement of the following goals:

#9 Industry, Innovation and Infrastructure

InCites Highlights

Data related to this publication, from InCites Benchmarking & Analytics tool:

Collaboration types
Domestic collaboration
International collaboration
Web of Science research areas
Computer Science, Software Engineering
Engineering, Electrical & Electronic
Logo image