CARGO: AI-Guided Dependency Analysis for Migrating Monolithic Applications to Microservices ArchitectureACM SIGSOFT Distinguished Paper Award
Microservices Architecture (MSA) has evolved into a de-facto standard for developing cloud-native enterprise applications during the last decade. MSA provides a variety of benefits, including quicker infrastructure deployment and service availability, elastic scalability, dependability, and increased security. To leverage these characteristics, existing (monolithic) systems must be decomposed into loosely couple microservices. This approach of decomposition, when undertaken manually, can be a rather laborious process rife with errors. As a result, there has been a surge of interest in applying AI-based technologies to identify decomposition strategies. However, the usefulness of these approaches is limited by the expressiveness of the program representation (as a result of their reliance on imprecise but extensive static analysis or exact but incomplete dynamic analysis) and their inability to model the application’s dependency on critical external resources such as databases tables. Consequently, partitioning recommendations offered by current tools result in architectures that result in (a)~distributed monoliths, and/or (b)~force the use of (often criticized) distributed transactions.
This work attempts to overcome these challenges by introducing CARGO (short for Context sensitive lAbel pRopaGatiOn)—a novel un-/semi-supervised partition refinement technique that uses a comprehensive system dependence graph built using context- and flow-sensitive static analysis of the monolithic application. CARGO offers two modes of operation: a) an unsupervised mode, where it decomposes the program with no a priori partition assignments, and ii) a semi-supervised mode, where it is seeded by the partitions discovered using any state-of-the-art microservice partitioning algorithms to refine and thereby enrich the partitioning quality of the current state-of-the-art algorithms. CARGO was used to augment four state-of-the-art microservice partitioning techniques (comprised of 1 industrial tool and 3 open-source projects). These were applied on five Java EE applications (comprised of 4 open source and 1 proprietary projects). Experimental results show that CARGO is capable of improving the partition quality of all modern microservice partitioning techniques (as measured by 4 architectural metrics). CARGO also substantially reduces distributed database transactions, which are a major bottleneck in most microservice applications. Furthermore, our real-world performance evaluation on a benchmark JEE application (Daytrader) deployed under varying loads shows that CARGO also lowers the overall the latency of the deployed microservice application by 11% and increases throughput by 120% on average, across various sequences of simulated user actions.
Wed 12 OctDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 18:00 | Technical Session 17 - SE for AIResearch Papers / Late Breaking Results / NIER Track / Tool Demonstrations at Banquet B Chair(s): Tim Menzies North Carolina State University | ||
16:00 10mVision and Emerging Results | On the Naturalness of Bytecode Instructions NIER Track | ||
16:10 20mResearch paper | A Light Bug Triage Framework for Applying Large Pre-trained Language Model Research Papers Jaehyung Lee Pohang University of Science and Technology, Pohang , Hwanjo Yu Pohang University of Science and Technology, Pohang, HanKisun Samsung Research | ||
16:30 10mVision and Emerging Results | Global Decision Making Over Deep Variability in Feedback-Driven Software Development NIER Track Jörg Kienzle McGill University, Canada, Benoit Combemale University of Rennes; Inria; IRISA, Gunter Mussbacher McGill University, Omar Alam Trent University, Francis Bordeleau École de Technologie Supérieure (ETS), Lola Burgueño University of Malaga, Gregor Engels Paderborn University, Jessie Galasso-Carbonnel Université de Montréal, Jean-Marc Jézéquel Univ Rennes - IRISA, Bettina Kemme McGill University, Canada, Sébastien Mosser McMaster University, Houari Sahraoui Université de Montréal, Maximilian Schiedermeier McGill University, Eugene Syriani Université de Montréal | ||
16:40 20mResearch paper | CARGO: AI-Guided Dependency Analysis for Migrating Monolithic Applications to Microservices ArchitectureACM SIGSOFT Distinguished Paper Award Research Papers Vikram Nitin Columbia University, Shubhi Asthana IBM Research, Baishakhi Ray Columbia University, Rahul Krishna IBM Research Pre-print | ||
17:00 10mDemonstration | Answering Software Deployment Questions via Neural Machine Reading at ScaleVirtual Tool Demonstrations Guan Jie Qiu School of Software, Shanghai Jiao Tong University, Diwei Chen School of Software, Shanghai Jiao Tong University, Shuai Zhang School of Software, Shanghai Jiao Tong University, Yitian Chai School of Software, Shanghai Jiao Tong University, Xiaodong Gu Shanghai Jiao Tong University, China, Beijun Shen School of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University | ||
17:10 20mResearch paper | PRCBERT: Prompt Learning for Requirement Classification using BERT-based Pretrained Language ModelsVirtual Research Papers Xianchang Luo University of Science and Technology of China, Yinxing Xue University of Science and Technology of China, Zhenchang Xing Australian National University, Jiamou Sun Australian National University | ||
17:30 10mVision and Emerging Results | Test-Driven Multi-Task Learning with Functionally Equivalent Code Transformation for Neural Code GenerationVirtual NIER Track Xin Wang Wuhan University, Xiao Liu School of Information Technology, Deakin University, Pingyi Zhou Noah’s Ark Lab, Huawei Technologies, Qixia Liu China Mobile Communications Corporation, Jin Liu Wuhan University, Hao Wu Yunnan University, Xiaohui Cui Wuhan University | ||
17:40 10mPaper | Towards Using Data-Influence Methods to Detect Noisy Samples in Source Code CorporaVirtual Late Breaking Results Anh T. V. Dau FPT Software AI Center, Nghi D. Q. Bui Singapore Management University, Thang Nguyen-Duc FPT Software AI Center, Hoang Thanh-Tung Vietnam National University |