Automated Software Refactoring Through Neuro-Symbolic Program Understanding Models

Authors

  • Lakshmi Reddy Motati Senior Technology Manager, GAP Inc, United States of America Author
  • Takudzwa Fadziso Associate Professor, Chinhoyi University of Technology, Zimbabwe Author

Abstract

This work automates complex business system software restructuring utilizing neuro-symbolic program understanding models. The recommended method employs symbolic reasoning and deep neural network topologies to accurately identify refactoring opportunities, automate dependency reduction, update old codebases, and reduce semantic drift. Model performance in industrial code repositories is evaluated for code translation accuracy, functional correctness, and maintainability. Assessed automated refactoring risks include unanticipated behavioral changes, API contract violations, and scalability. Hybrid neuro-symbolic systems outperform neural or rule-based refactoring in semantic fidelity and code maintainability. Examining corporate continuous automated modernization pipeline integration approaches provides risk mitigation and code quality improvement insights. Results show neuro-symbolic paradigms may help maintain software evolution via automation.

Downloads

Download data is not yet available.

References

M. Allamanis, E. T. Barr, P. Devanbu, and C. Sutton, “A survey of machine learning for big code and naturalness,” ACM Computing Surveys, vol. 51, no. 4, pp. 1–37, 2018.

Z. Chen and M. Monperrus, “A literature study of artificial intelligence for software engineering,” arXiv preprint arXiv:1905.03714, 2019.

T. Wang, K. T. Ma, and J. Wang, “Neural program synthesis: A survey,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 45, no. 2, pp. 1450–1474, 2023.

S. Gulwani, O. Polozov, and R. Singh, “Program synthesis,” Foundations and Trends in Programming Languages, vol. 4, no. 1–2, pp. 1–119, 2017.

M. Brockschmidt, M. Allamanis, A. Gaunt, and O. Polozov, “Generative code modeling with graph neural networks,” in Proc. 32nd Int. Conf. Neural Information Processing Systems (NeurIPS), Montréal, Canada, 2018.

E. Dinella et al., “HOPPITY: Learning graph transformations to detect and fix bugs in programs,” in Proc. Int. Conf. Machine Learning (ICML), Vienna, Austria, 2020.

Y. Li et al., “Deep learning for code completion,” in Proc. 27th ACM Joint Meeting on European Software Engineering Conf. and Symp. Foundations of Software Engineering (ESEC/FSE), Tallinn, Estonia, 2019.

M. Pradel and K. Sen, “DeepBugs: A learning approach to name-based bug detection,” in Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI), Philadelphia, PA, USA, 2018.

A. Bansal, A. Singh, and P. S. Sandhu, “Machine learning-based software refactoring: A systematic literature review,” Journal of Systems and Software, vol. 172, 2021.

R. O. Sinnott, “Software engineering for cloud computing: An overview,” IEEE Cloud Computing, vol. 7, no. 2, pp. 77–85, 2020.

M. Fowler, K. Beck, J. Brant, and W. Opdyke, Refactoring: Improving the Design of Existing Code, 2nd ed., Addison-Wesley, 2018.

S. Bajammal, D. Dig, and S. Malek, “Automated refactoring tools: A review of the state of the art,” IEEE Transactions on Software Engineering, vol. 48, no. 10, pp. 3780–3805, 2022.

J. Henkel, R. Premraj, P. Mäder, and T. Zimmermann, “Machine learning techniques for code smell detection: A systematic literature review,” Information and Software Technology, vol. 155, 2023.

N. Tsantalis, M. Kessentini, T. Chaikalis, and A. Chatzigeorgiou, “Accurate and efficient refactoring identification in object-oriented systems,” IEEE Transactions on Software Engineering, vol. 41, no. 4, pp. 354–378, 2015.

S. Mechtaev, J. Yi, and A. Roychoudhury, “DirectFix: Looking for simple program repairs,” in Proc. 37th Int. Conf. Software Engineering (ICSE), Florence, Italy, 2015.

J. Whaley and M. S. Lam, “Cloning-based context-sensitive pointer alias analysis using binary decision diagrams,” in Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI), Berlin, Germany, 2004.

A. Van Deursen, L. Moonen, A. Van Den Bergh, and G. Kok, “Refactoring test code,” in Proc. 2nd Int. Conf. Extreme Programming and Agile Processes in Software Engineering, Sardinia, Italy, 2001.

S. K. Dash, S. S. Tripathy, and R. Mall, “Model-based refactoring: A systematic literature review,” ACM Computing Surveys, vol. 55, no. 4, 2022.

D. Mandal, N. Jain, and D. Saha, “Neuro-symbolic program repair: Combining deep learning and constraint solving,” in Proc. 44th Int. Conf. Software Engineering Workshops (ICSEW), Pittsburgh, PA, USA, 2022.

M. Tufano et al., “Learning to automate software refactoring,” in Proc. 42nd Int. Conf. Software Engineering (ICSE), Seoul, South Korea, 2020.

Downloads

Published

09-01-2023

How to Cite

[1]
Lakshmi Reddy Motati and Takudzwa Fadziso, “Automated Software Refactoring Through Neuro-Symbolic Program Understanding Models ”, Essex Journal of AI Ethics and Responsible Innovation, vol. 3, pp. 657–677, Jan. 2023, Accessed: May 23, 2026. [Online]. Available: https://www.ejaeai.org/index.php/publication/article/view/98