Identifying Appropriately-Sized Services with Deep Reinforcement Learning

📅 2025-12-23
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Automated service granularity determination remains challenging in service-oriented migration due to the lack of scalable, documentation-agnostic approaches. Method: This paper proposes Rake, a deep reinforcement learning–based automated service decomposition method leveraging Proximal Policy Optimization (PPO). Rake jointly exploits source-code abstract syntax trees (ASTs), API semantic parsing, and document embeddings—requiring no manual intervention, pre-specified service count, or complete documentation—and is the first to apply deep RL to service boundary identification. It employs multi-objective reward modeling to simultaneously optimize intra-module cohesion and alignment with business capabilities. Results: Evaluated on four open-source legacy systems, Rake improves modularization quality by 7–14% and business alignment by 18–22% on average, empirically demonstrating that multi-objective balancing is critical for decomposing tightly coupled systems.

Technology Category

Application Category

📝 Abstract
Service-based architecture (SBA) has gained attention in industry and academia as a means to modernize legacy systems. It refers to a design style that enables systems to be developed as suites of small, loosely coupled, and autonomous components (services) that encapsulate functionality and communicate via language-agnostic APIs. However, defining appropriately sized services that capture cohesive subsets of system functionality remains challenging. Existing work often relies on the availability of documentation, access to project personnel, or a priori knowledge of the target number of services, assumptions that do not hold in many real-world scenarios. Our work addresses these limitations using a deep reinforcement learning-based approach to identify appropriately sized services directly from implementation artifacts. We present Rake, a reinforcement learning-based technique that leverages available system documentation and source code to guide service decomposition at the level of implementation methods. Rake does not require specific documentation or access to project personnel and is language-agnostic. It also supports a customizable objective function that balances modularization quality and business capability alignment, i.e., the degree to which a service covers the targeted business capability. We applied Rake to four open-source legacy projects and compared it with two state-of-the-art techniques. On average, Rake achieved 7-14 percent higher modularization quality and 18-22 percent stronger business capability alignment. Our results further show that optimizing solely for business context can degrade decomposition quality in tightly coupled systems, highlighting the need for balanced objectives.
Problem

Research questions and friction points this paper is trying to address.

Identifying appropriately-sized services in service-based architectures
Overcoming reliance on documentation and personnel for service decomposition
Balancing modularization quality with business capability alignment
Innovation

Methods, ideas, or system contributions that make the work stand out.

Deep reinforcement learning identifies service sizes from code
Language-agnostic method uses source code and documentation
Customizable objective balances modularization and business alignment
S
Syeda Tasnim Fabiha
University of Southern California, USA
Saad Shafiq
Saad Shafiq
University of Southern California
Artificial IntelligenceSoftware Engineering
W
Wesley Klewerton Guez Assunção
North Carolina State University, USA
N
Nenad Medvidović
University of Southern California, USA