# An Expert System for Redesigning Software for Cloud Applications

arXiv: https://arxiv.org/abs/2109.14569 · HTML: https://mlsanity.com/paper/2109.14569/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 16 of its 46 references that are in the map.
- First posted on arXiv 29 Sep 2021.

## Builds on (most cited first, 16 of 16)

- [Optuna: A Next-generation Hyperparameter Optimization Framework](https://mlsanity.com/paper/1907.10902/) (2019)
- [Visualizing the Loss Landscape of Neural Nets](https://mlsanity.com/paper/1712.09913/) (2017)
- [Cyclical Learning Rates for Training Neural Networks](https://mlsanity.com/paper/1506.01186/) (2015)
- [Entropy-SGD: Biasing Gradient Descent Into Wide Valleys](https://mlsanity.com/paper/1611.01838/) (2016)
- [How Does Batch Normalization Help Optimization?](https://mlsanity.com/paper/1805.11604/) (2018)
- [code2vec: Learning Distributed Representations of Code](https://mlsanity.com/paper/1803.09473/) (2018)
- [Super-Convergence: Very Fast Training of Neural Networks Using Large Learning Rates](https://mlsanity.com/paper/1708.07120/) (2017)
- [Easy over Hard: A Case Study on Deep Learning](https://mlsanity.com/paper/1703.00133/) (2017)
- [500+ Times Faster Than Deep Learning (A Case Study Exploring Faster Methods for Text Mining StackOverflow)](https://mlsanity.com/paper/1802.05319/) (2018)
- [How to "DODGE" Complex Software Analytics?](https://mlsanity.com/paper/1902.01838/) (2019)
- [Graph Neural Network to Dilute Outliers for Refactoring Monolith Application](https://mlsanity.com/paper/2102.03827/) (2021)
- [Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices](https://mlsanity.com/paper/2107.09698/) (2021)
- [A Comparative Review of Microservices and Monolithic Architectures](https://mlsanity.com/paper/1905.07997/) (2019)
- [Lessons learned from hyper-parameter tuning for microservice candidate identification](https://mlsanity.com/paper/2106.06652/) (2021)
- [Is One Hyperparameter Optimizer Enough?](https://mlsanity.com/paper/1807.11112/) (2018)
- [Predicting Breakdowns in Cloud Services (with SPIKE)](https://mlsanity.com/paper/1905.06390/) (2019)

## Abstract (arXiv)

Cloud-based software has many advantages. When services are divided into many independent components, they are easier to update. Also, during peak demand, it is easier to scale cloud services (just hire more CPUs). Hence, many organizations are partitioning their monolithic enterprise applications into cloud-based microservices. Recently there has been much work using machine learning to simplify this partitioning task. Despite much research, no single partitioning method can be recommended as generally useful. More specifically, those prior solutions are "brittle"; i.e. if they work well for one kind of goal in one dataset, then they can be sub-optimal if applied to many datasets and multiple goals. In order to find a generally useful partitioning method, we propose DEEPLY. This new algorithm extends the CO-GCN deep learning partition generator with (a) a novel loss function and (b) some hyper-parameter optimization. As shown by our experiments, DEEPLY generally outperforms prior work (including CO-GCN, and others) across multiple datasets and goals. To the best of our knowledge, this is the first report in SE of such stable hyper-parameter optimization. To aid reuse of this work, DEEPLY is available on-line at https://bit.ly/2WhfFlB.
