References
- Alizadeh V, Kessentini M, Mkaouer MW, Cinneide M, Ouni A, Cai Y. An interactive and dynamic search-based approach to software refactoring recommendations. IEEE Trans Softw Eng. 2020;46(9):932–61. doi:10.1109/TSE.2018.2872711.
- Fowler M. Refactoring: improving the design of existing code. Boston (Massachusetts): Addison-Wesley Professional; 2018.
- Zabard E, Gonzalez-Huerta J, Šmite D. Refactoring, bug fixing, and new development effect on technical debt: an industrial case study. Proceedings of the 46th Euromicro Conference on Software Engineering and Advanced Applications; 2020; Kranj, Slovenia.
- Golubev Y, Kurbatova Z, AlOmar EA, Bryksin T, Mkaouer MW. One thousand and one stories: a large-scale survey of software refactoring. Proceedings of the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering; 2021; Athens, Greece. p. 1303–13.
- Abid C, Alizadeh V, Kessentini M, Ferreira T, Dig D. 30 years of software refactoring research: a systematic literature review. 2020. https://arxiv.org/abs/20307.02194.
- Lacerda G, Petrillo F, Piment M, Guéhéneuc Y. Code smells and refactoring: a tertiary systematic review of challenges and observations. J Syst Softw. 2020;167:110610. doi:10.1016/j.jss.2020.110610.
- dos Reis JP, Abreu FBE, de Figueiredo Carneiro G, Anslow C. Code smells detection and visualization: a systematic literature review. Arch Comput Methods Eng. 2022;29(1):47–94. doi:10.1007/s11831-021-09566-x.
- Rasool G, Arshad Z. A review of code smell mining techniques. J Software. 2015;27(11):867–95. doi:10.1002/smr.1737.
- Hadj-Kacem M, Bouassida N. A hybrid approach to detect code smells using deep learning. Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering; 2018; Funchal, Madeira Portugal. p. 137–46.
- Liu H, Jin J, Xu Z, Zou Y, Bu Y, Zhang L. Deep learning based code smell detection. IEEE Trans Softw Eng. 2019;47:1811–37.
- Mariani T, Vergilio SR. A systematic review on search-based refactoring. Inf Software Technol. 2017;83:14–34. doi:10.1016/j.infsof.2016.11.009.
- Goodfellow I, Bengio Y, Courville A. Deep learning. Cambridge (Massachusetts): MIT Press; 2016.
- Kelleher JD. Deep learning. Cambridge (Massachusetts): MIT Press Essential Knowledge Series; 2019.
- Bishop CM. Neural networks for pattern recognition. New York (NY): Oxford University Press; 1995.
- Aggarwal CC. Neural networks and deep learning: a textbook. Cham (Switzerland): Springer; 2018.
- Balas VE, Roy S, Sharma D, Samui P. Handbook of deep learning applications. Cham (Switzerland): Springer; 2019.
- Scarselli F, Gori M, Tsoi AC, Hagenbuchner M, Monfardini G. The graph neural network model. IEEE Trans Neural Netw. 2009;20(1):61–80. doi:10.1109/TNN.2008.2005605.
- Mikolov T, Karafiát M, Burget L, Cernocký J, Khudanpur S. Recurrent neural network based language model. Proceedings of the 11th Annual Conference of the International Speech Communication Association; 2010; Chiba, Japan. p. 1045–48.
- Dey R, Salem FM. Gate-variants of Gated Recurrent Unit (GRU) neural networks. Proceedings of the 60th IEEE International Midwest Symposium on Circuits and Systems; 2017; Boston, MA.
- Wang W, Li G, Ma B, Xia X, Jin Z. Detecting code clones with graph neural network and flow-augmented abstract syntax tree. Proceedings of IEEE 27th International Conference on Software Analysis, Evolution and Reengineering; 2020; London, Canada. p. 1–11.
- Mens T, Tourwe T. A survey of software refactoring. IEEE Trans Softw Eng. 2004;30(2):126–39. doi:10.1109/TSE.2004.1265817.
- Lewis J, Fowler M. Microservices. 2014. www.martinfowler.com/articles/microservices.html.
- Thones J. Microservices. IEEE Softw. 2015;3(1):113–16. doi:10.1109/MS.2015.11.
- Mazlami G, Cito J, Leitner P. Extraction of microservices from monolithic software architectures. Proceedings of IEEE International Conference on Web Services; 2017; Honolulu, Hawaii. p. 524–31.
- Kitchenham B, Charters S. “Guidelines for performing systematic literature reviews in software engineering,” school of computer science and mathematics. Keele (UK): Keele University. EBSE-2007-01; 2007 July.
- Wohlin C. Guidelines for snowballing in systematic literature studies and a replication in software engineering. Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering; 2014; London, UK. p. 1–10.
- Ahmadi H, Ashtiani M, Azgomi MA, Saheb-Nassagh R. A DQN-based agent for automatic software refactoring. Inf Software Technol. 2022;147:106893. doi:10.1016/j.infsof.2022.106893.
- Aniche M, Maziero E, Durelli R, Durelli V. The effectiveness of supervised machine learning algorithms in predicting software refactoring. IEEE Trans Softw Eng. 2022;48(4):1432–50. doi:10.1109/TSE.2020.3021736.
- Szalontai B, Vadász A, Borsi ZR, Várkonyi TA, Pintér B, Gregorics T. Detecting and fixing nonidiomatic snippets in python source code with deep learning. Proceedings of SAI Intelligent Systems Conference; 2021; Virtual. p. 129–47.
- Mathai A, Bandyopadhyay S, Desai U, Tamilselvam S. Monolith to microservices: representing application software through heterogeneous graph neural network. Proceedings of the 31st International Joint Conference on Artificial Intelligence; 2022; Vienna, Austria. p. 1–15.
- Liang J, Zou W, Zhang J, Huang Z, Sun C. A deep method renaming prediction and refinement approach for java projects. Proceedings of the 21st IEEE International Conference on Software Quality, Reliability and Security; 2021; Hainan, China. p. 404–13.
- Desai U, Bandyopadhyay S, Tamilselvam SG. Graph neural network to dilute outliers for refactoring monolith application. Proceedings of the 35th AAAI Conference on Artificial Intelligence; 2021; Virtual. p. 1–13.
- Al-Debagy O, Martinek P. A microservice decomposition method through using distributed representation of source code. Scalable Comput. 2021;22(1):39–52. doi:10.12694/scpe.v22i1.1836.
- Alenezi M, Akour M, Qasem OA. Harnessing deep learning algorithms to predict software refactoring. TELKOMNIKA Telecomm Comput Electron Control. 2020;18(6):2977–82. doi:10.12928/telkomnika.v18i6.16743.
- Panigrahi R, Kumar L, Kuanar SK. An empirical study to investigate different SMOTE data sampling techniques for improving software refactoring prediction. Proceedings of International Conference on Neural Information Processing; 2020; Bangkok, Thailand. p. 23–31.
- Nyamawe AS, Liu H, Niu N, Umer Q, Niu Z. Feature requests-based recommendation of software refactorings. Empir Softw Eng. 2020;25(5):4315–47. doi:10.1007/s10664-020-09871-2.
- Tufano M, Pantiuchina J, Watson C, Bavota G, Poshyvanyk D. On learning meaningful code changes via neural machine translation. Proceedings of the 41st IEEE/ACM International Conference on Software Engineering; 2019; Montreal, Canada. p. 25–36.
- Liu K, Kim D, Bissyandé TF, Kim T, Kim K, Koyuncu A, Kim S, Le Traon Y. Learning to spot and refactor inconsistent method names. Proceedings of the 41st IEEE/ACM International Conference on Software Engineering; 2019; Montreal, Canada. p. 1–12.
- Xu S, Zhang S, Wang W, Cao X, Guo C, Xu J. Method name suggestion with hierarchical attention networks. Proceedings of ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation; 2019; Cascais, Portugal. p. 10–21.
- Liu H, Xu Z, Zou Y. Deep learning based feature envy detection. Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering; 2018; Montpellier, France. p. 385–96.
- Kessentini M, Wang H, Dea JT, Ouni A. Improving web services design quality using heuristic search and machine learning. Proceedings of the IEEE International Conference on Web Services; 2017; Honolulu, Hawaii. p. 540–47.
- Allamanis M, Peng H, Sutton C. A convolutional attention network for extreme summarization of source code. Proceedings of the 33rd International Conference on Machine Learning; 2016; New York, NY. p. 2091–100.
- Mohan M, Greer D, McMullan P. Technical debt reduction using search based automated refactoring. J Syst Softw. 2016;120:183–94. doi:10.1016/j.jss.2016.05.019.
- Liu H, Liu Q, Liu Y, Wang Z. Identifying renaming opportunities by expanding conducted rename refactorings. IEEE Trans Softw Eng. 2015;41(9):887–900. doi:10.1109/TSE.2015.2427831.
- Perozzi B, Al-Rfou R, Skiena S. Deepwalk: online learning of social representations. Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining; 2014; New York, NY. p. 701–10.
- Grover A, Leskovec J. Node2vec: scalable feature learning for networks. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining; 2016; San Francisco, California. p. 855–64.
- Bandyopadhyay S, Lokesh N, Murty MN. Outlier aware network embedding for attributed networks. Proceedings of the AAAI Conference on Artificial Intelligence; 2019; Hilo, HI. p. 12–19.
- Kipf TN, Welling M. Variational graph autoencoders. 2016. https://arxiv.org/abs/1611.07308.
- Velickovic P, Fedus W, Hamilton WL, Lio P, Bengio Y, Hjelm RD. Deep graph infomax. Proceedings of the 7th International Conference on Learning Representations; 2019; New Orleans, LA. p. 1–17.
- Jin W, Liu T, Zheng Q, Cui D, Cai Y. Functionality-oriented microservice extraction based on execution trace clustering. Proceedings of the IEEE International Conference on Web Services; 2018; Seattle, USA. p. 211–18.
- Saidani I, Ouni A, Mkaouer MW, Saied A. Towards automated microservices extraction using muti-objective evolutionary search. Proceedings of International Conference on Service-Oriented Computing; 2019; Toulouse, France. p. 58–63.
- Niu N, Bhowmik T, Liu H, Niu Z. Traceability-enabled refactoring for managing just-in-time requirements. Proceedings of the 22nd IEEE International Requirements Engineering Conference; 2014; Karlskrona, Sweden. p. 133–42.
- Suzuki T, Sakamoto K, Ishikawa F, Honiden S. An approach for evaluating and suggesting method names using n-gram models. Proceedings of the 22nd International Conference on Program Comprehension; 2014; Hyderabad, India. p. 271–74.
- Moha N, Gueheneuc Y-G, Duchien L, Meur A-FL. DECOR: a method for the specification and detection of code and design smells. IEEE Trans Softw Eng. 2010;36(1):20–36. doi:10.1109/TSE.2009.50.
- Palomba F, Panichella A, Lucia AD, Oliveto R, Zaidman A. A textual-based technique for smell detection. Proceedings of the 24th IEEE International Conference Program Comprehension; 2016; Austin, Texas. p. 1–10.
- Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate. 2014. https://arxiv.org/abs/1409.0473.
- Tsantalis N, Chatzigeorgiou A. Identification of move method refactoring opportunities. IEEE Trans Serv Comput. 2009;35(3):347–67. doi:10.1109/TSE.2009.1.
- Terra R, Valente MT, Miranda S, Sales V. Jmove: a novel heuristic and tool to detect move method refactoring opportunities. J Syst Softw. 2018;138:19–36. doi:10.1016/j.jss.2017.11.073.
- Ouni A, Salem Z, Inoue K, Soui M. SIM: an automated approach to improve web service interface modularization. Proceedings of the IEEE International Conference on Web Services; 2016; San Francisco, USA. p. 91–98.
- Athanasopoulos D, Zarras AV, Miskos G, Issarny V, Vassiliadis P. Cohesion-driven decomposition of service interfaces without access to source code. IEEE Trans Serv Comput. 2015;8(4):1–18. doi:10.1109/TSC.2014.2310195.
- Mikolov T, Chen K, Corrado G, Dean J. Efficient estimation of word representations in vector space. 2013. https://arxiv.org/abs/1301.3781.
- Alon U, Zilberstein M, Levy O, Yahav E. Code2vec: learning distributed representations of code. Proc ACM Program Lang. Vol. 3. 2019;3:1–29 Article No: 40.
- Devlin J, Chang MW, Lee K, Toutanova K. BERT: pretraining of deep bidirectional transformers for language understanding. Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human LanguageTechnologies; 2019; Minneapolis, Minnesota. p. 4171–86
- Kim Y. Convolutional neural networks for sentence classification. Proceedings of the Conference on Empirical Methods in NaturalLanguage Processing; 2014; Doha, Qatar. p. 1746–51.
- Frey BJ, Dueck D. Clustering by passing messages between data points. Science. 2014;315(5814):972–76. doi:10.1126/science.1136800.
- Wu Y, Schuster M, Chen Z, Le QV, Norouzi M, Macherey W, Krikun M, Cao Y, Gao Q, Macherey K, Klingner J. Google’s neural machine translation system: bridging the gap between human and machine translation. 2016. https://arxiv.org/abs/1609.08144.
- Gerrit. OVirt Gerrit. [accessed 2022 Oct 27]. https://gerrit.ovirt.org/.
- Dai AM, Olah C, Le QV. Document embedding with paragraph vectors. 2015. https://arxiv.org/abs/1507.07998.
- Hua W, Sui Y, Wan Y, Liu G, Xu G. FCCA: hybrid code representation for functional clone detection using attention networks. IEEE Trans Reliab; 2020;70:1304–318.
- Sheneamer A. CCDLC detection framework-combining clustering with deep learning classification for semantic clones. Proceedings of the 17th IEEE International Conference on Machine Learning and Applications; 2018; Orlando, Florida.
- Narayanan A, Chandramohan M, Venkatesan R, Chen L, Liu Y, Jaiswal S. Graph2vec: learning distributed representations of graphs. 2017. http://arxiv.org/abs/1707.05005.