Distributed-to-Centralized: Closing the Loop on Architecture Migration via Unification Refactoring
This program is tentative and subject to change.
To address business needs and resource constraints, software systems are distributed across multiple execution sites. As requirements evolve and constraints change, distribution may need to be either increased or decreased. While increasing distribution—converting centralized software into distributed components—has been a target of a concerted research effort, decreasing distribution—unifying distributed components—has been largely neglected. Yet recent industry announcements report on reducing distribution by consolidating microservices into monoliths, albeit without a systematic treatment of the associated challenges and solutions. Hence, such migrations rely on manual, ad hoc rewrites that can be hard to plan, perform, and validate. To close the loop on architecture migration, this paper presents Unification Refactoring, which reduces distribution by unifying distributed components into a functionally equivalent centralized system. We realize Unification Refactoring as μjUniter, a proof-of-concept framework that systematically transforms microservice-based architectures into modular monoliths. We evaluated μjUniter on third-party and synthetic microservice systems. Our evaluation demonstrates that μjUniter consistently preserves system functionality, as validated by 409 tests. It also decreases invocation latency, memory consumption, and CPU utilization by ≈65%, ≈72%, and ≈33%, respectively. Furthermore, by automating tedious and error-prone source code transformations, μjUniter minimizes manual intervention, thereby benefiting developers seeking to reduce distribution. By closing the loop on architecture migration, Unification Refactoring addresses a critical omission in the automatic adaptation of modern software.
This program is tentative and subject to change.
Wed 1 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
14:00 - 15:30 | |||
14:00 22mTalk | Beyond k-Limiting: Pointer-Flow-Guided Context Sensitivity for Scalable and Precise Rust Pointer Analysis Technical Papers | ||
14:22 22mTalk | Ownership Refinement Types for Pointer Arithmetic and Nested Arrays Technical Papers Yusuke Fujiwara Kyoto University, Japan, Yusuke Matsushita Kyoto University, Japan, Kohei Suenaga Graduate School of Informatics, Kyoto University, Atsushi Igarashi Kyoto University | ||
14:45 22mTalk | Compositional Design, Implementation, and Verification of Swarms Technical Papers Florian Furbach Technical University of Denmark, Lucas Clorius DTU Compute, Roland Kuhn RKSW UG, Hernan Melgratti University of Buenos Aires, Argentina, Alceste Scalas Technical University of Denmark, Emilio Tuosto Gran Sasso Science Institute, L'Aquila, Italy | ||
15:07 22mTalk | Distributed-to-Centralized: Closing the Loop on Architecture Migration via Unification Refactoring Technical Papers | ||