ML-Enhanced Code Refactoring Recommendations for Improving Software Maintainability

  • Authors

    • Dr. Rohit Malhotra Professor, University of Mumbai, India. Author

    DOI:

    https://doi.org/10.67228/30715628/IJMIET-2019PII6R1D

    Published 12-03-2019

  • Machine Learning for Software Engineering, Code Refactoring, Software Maintainability, Technical Debt, Automated Software Quality Improvement, ML-based Recommendation Systems, Code Smell Detection, Software Analytics

    Issue

    Section

    Articles

    How to Cite

    [1]
    R. Malhotra, “ML-Enhanced Code Refactoring Recommendations for Improving Software Maintainability”, ijmiet, vol. 2, no. 2, pp. 01–12, Dec. 2019, doi: 10.67228/30715628/IJMIET-2019PII6R1D.
  • Abstract

    Software maintainability is a critical quality attribute influencing the long-term sustainability, scalability, and cost-effectiveness of software systems. Traditional refactoring approaches often rely on manual inspection or rule-based static analysis, which can be time-consuming, inconsistent, and limited in capturing deeper code quality issues. Recent advances in machine learning (ML) provide new opportunities to automate and enhance refactoring recommendations by learning from large codebases, identifying complex patterns, and predicting optimal refactoring strategies. This paper investigates ML-driven approaches for generating code refactoring recommendations aimed at improving maintainability. We review existing techniques, propose an ML-based framework capable of detecting maintainability hotspots and suggesting targeted refactorings, and evaluate its effectiveness through empirical experiments on real-world repositories. Results show that ML-enhanced recommendations outperform traditional methods in accuracy, relevance, and impact on maintainability metrics. The findings highlight the potential of integrating ML into modern development practices to support developers in producing cleaner, more maintainable software systems.

  • References

    [1] Fowler, M., Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2019.

    [2] Bavota, G., “Code Smell Detection: A Systematic Literature Review,” Journal of Systems and Software, 2015.

    [3] Tsantalis, N., et al., “Accurate Prediction of Refactoring Opportunities Using Machine Learning,” IEEE Transactions on Software Engineering, 2018.

    [4] Palomba, F., “Mining Refactoring Changes in Large-Scale Systems,” Software Maintenance and Evolution, 2017.

    [5] Kim, M., “Refactoring Studies Based on Version Histories,” IEEE Software, 2019.

    [6] Sadowski, C., “Static Analysis at Scale: Lessons Learned,” Google Research Journal, 2017.

    [7] Liu, Y., “CodeBERT: A Pretrained Model for Programming Languages,” EMNLP, 2020.

    [8] Tufano, M., “Automated Software Refactoring via Neural Machine Translation,” ICSE, 2019.

    [9] Hassan, A. E., “Technical Debt Measurement and Management,” IEEE Software Engineering Notes, 2018.

    [10] Poshyvanyk, D., “Feature Envy Detection Using Information Retrieval,” ASE Conference, 2015.

    [11] Romano, D., “Assessing Code Readability: Metrics and Models,” International Journal of Software Engineering, 2016.

    [12] Mens, T., “A Survey of Refactoring Techniques and Tools,” Computer Science Review, 2016.

  • Downloads

Similar Articles

1-10 of 82

You may also start an advanced similarity search for this article.